[INFO] updating cached repository cheshyre/rust-srg-test [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/cheshyre/rust-srg-test [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/cheshyre/rust-srg-test" "work/ex/beta-1.38-1/sources/1.37.0/gh/cheshyre/rust-srg-test"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/1.37.0/gh/cheshyre/rust-srg-test'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/cheshyre/rust-srg-test" "work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/cheshyre/rust-srg-test"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/cheshyre/rust-srg-test'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 6a30f391d4d44f8c7906eab65f26109ac06db77d [INFO] sha for GitHub repo cheshyre/rust-srg-test: 6a30f391d4d44f8c7906eab65f26109ac06db77d [INFO] validating manifest of cheshyre/rust-srg-test on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of cheshyre/rust-srg-test on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing cheshyre/rust-srg-test [INFO] finished frobbing cheshyre/rust-srg-test [INFO] frobbed toml for cheshyre/rust-srg-test written to work/ex/beta-1.38-1/sources/1.37.0/gh/cheshyre/rust-srg-test/Cargo.toml [INFO] started frobbing cheshyre/rust-srg-test [INFO] finished frobbing cheshyre/rust-srg-test [INFO] frobbed toml for cheshyre/rust-srg-test written to work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/cheshyre/rust-srg-test/Cargo.toml [INFO] crate cheshyre/rust-srg-test already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing cheshyre/rust-srg-test against beta-2019-08-13 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-0/beta-2019-08-13:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/cheshyre/rust-srg-test:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+beta-2019-08-13" "build" "--frozen"` [INFO] [stdout] 15d151f3ab07b73583dec1a1ebe77173228835cf4d51fafdba2644e94606ce5b [INFO] running `"docker" "start" "-a" "15d151f3ab07b73583dec1a1ebe77173228835cf4d51fafdba2644e94606ce5b"` [INFO] [stderr] Compiling netlib-src v0.7.4 [INFO] [stderr] Compiling cblas-sys v0.1.4 [INFO] [stderr] Compiling lapacke-sys v0.1.4 [INFO] [stderr] Compiling alga v0.8.2 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling cblas v0.2.0 [INFO] [stderr] Compiling lapacke v0.2.0 [INFO] [stderr] Compiling nalgebra v0.17.2 [INFO] [stderr] warning[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable [INFO] [stderr] --> /opt/crater/cargo-home/registry/src/github.com-1ecc6299db9ec823/nalgebra-0.17.2/src/base/cg.rs:297:44 [INFO] [stderr] | [INFO] [stderr] 297 | self[(j, i)] += shift[j] * self[(D::dim() - 1, i)]; [INFO] [stderr] | ---------------------------^^^^------------------- [INFO] [stderr] | | | [INFO] [stderr] | | immutable borrow occurs here [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] Compiling ode_solvers v0.2.0 [INFO] [stderr] Compiling blas_lapack_test v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: type `T_rel` should have an upper camel case name [INFO] [stderr] --> src/main.rs:17:8 [INFO] [stderr] | [INFO] [stderr] 17 | struct T_rel { [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `TRel` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'dop_shared::Stats::print': Use std::fmt::Display instead [INFO] [stderr] --> src/main.rs:56:23 [INFO] [stderr] | [INFO] [stderr] 56 | stats.print(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `info` is assigned to, but never used [INFO] [stderr] --> src/main.rs:173:9 [INFO] [stderr] | [INFO] [stderr] 173 | let info; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] = note: consider using `_info` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `info` is never read [INFO] [stderr] --> src/main.rs:176:9 [INFO] [stderr] | [INFO] [stderr] 176 | info = dsyev(lapacke::Layout::RowMajor, b'V', b'U', len, &mut ham2, len, &mut w); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable `info2` is assigned to, but never used [INFO] [stderr] --> src/main.rs:192:9 [INFO] [stderr] | [INFO] [stderr] 192 | let info2; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_info2` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `info2` is never read [INFO] [stderr] --> src/main.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | info2 = dsyev(lapacke::Layout::RowMajor, b'V', b'U', len, &mut new_ham2, len, &mut w2); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_pot` [INFO] [stderr] --> src/main.rs:205:9 [INFO] [stderr] | [INFO] [stderr] 205 | let new_pot : Vec = new_ham.iter().zip(&kin).map(|(a, b)| a - b).collect(); [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_new_pot` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `from_param` [INFO] [stderr] --> src/dopri5.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | / pub fn from_param( [INFO] [stderr] 184 | | f: &O, [INFO] [stderr] 185 | | x: f64, [INFO] [stderr] 186 | | x_end: f64, [INFO] [stderr] ... | [INFO] [stderr] 239 | | } [INFO] [stderr] 240 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `x_out` [INFO] [stderr] --> src/dopri5.rs:528:5 [INFO] [stderr] | [INFO] [stderr] 528 | pub fn x_out(&self) -> &Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `num_stages` [INFO] [stderr] --> src/butcher_tableau.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | num_stages: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `num_stages` [INFO] [stderr] --> src/butcher_tableau.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn num_stages(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `order` [INFO] [stderr] --> src/butcher_tableau.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | pub fn order(&self) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Dopri853` [INFO] [stderr] --> src/butcher_tableau.rs:101:1 [INFO] [stderr] | [INFO] [stderr] 101 | pub struct Dopri853 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/butcher_tableau.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | pub fn new() -> Dopri853 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `a` [INFO] [stderr] --> src/butcher_tableau.rs:388:5 [INFO] [stderr] | [INFO] [stderr] 388 | pub fn a(&self, i: usize, j: usize) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `b` [INFO] [stderr] --> src/butcher_tableau.rs:393:5 [INFO] [stderr] | [INFO] [stderr] 393 | pub fn b(&self, i: usize) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bhh` [INFO] [stderr] --> src/butcher_tableau.rs:398:5 [INFO] [stderr] | [INFO] [stderr] 398 | pub fn bhh(&self, i: usize) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `c` [INFO] [stderr] --> src/butcher_tableau.rs:403:5 [INFO] [stderr] | [INFO] [stderr] 403 | pub fn c(&self, i: usize) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `d` [INFO] [stderr] --> src/butcher_tableau.rs:408:5 [INFO] [stderr] | [INFO] [stderr] 408 | pub fn d(&self, i: usize, j: usize) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `e` [INFO] [stderr] --> src/butcher_tableau.rs:413:5 [INFO] [stderr] | [INFO] [stderr] 413 | pub fn e(&self, i: usize) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `num_stages` [INFO] [stderr] --> src/butcher_tableau.rs:418:5 [INFO] [stderr] | [INFO] [stderr] 418 | pub fn num_stages(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `order` [INFO] [stderr] --> src/butcher_tableau.rs:423:5 [INFO] [stderr] | [INFO] [stderr] 423 | pub fn order(&self) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `V_even` should have a snake case name [INFO] [stderr] --> src/main.rs:208:4 [INFO] [stderr] | [INFO] [stderr] 208 | fn V_even(p: f64, q: f64) -> f64 { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `v_even` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `V` should have a snake case name [INFO] [stderr] --> src/main.rs:212:4 [INFO] [stderr] | [INFO] [stderr] 212 | fn V(p: f64, q: f64) -> f64 { [INFO] [stderr] | ^ help: convert the identifier to snake case: `v` [INFO] [stderr] [INFO] [stderr] warning: variable `V1` should have a snake case name [INFO] [stderr] --> src/main.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | let V1 = -2.0; [INFO] [stderr] | ^^ help: convert the identifier to snake case: `v1` [INFO] [stderr] [INFO] [stderr] error: linking with `cc` failed: exit code: 1 [INFO] [stderr] | [INFO] [stderr] = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.0.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.1.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.10.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.11.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.12.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.13.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.14.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.15.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.2.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.3.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.4.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.5.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.6.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.7.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.8.rcgu.o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.blas_lapack_test.6rqpy7iq-cgu.9.rcgu.o" "-o" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43" "/opt/crater/target/debug/deps/blas_lapack_test-8440a83c80eaae43.dwolkb0h5sgrfbp.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/opt/crater/target/debug/deps" "-L" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/crater/target/debug/deps/libnetlib_src-0be583a91588d2b4.rlib" "/opt/crater/target/debug/deps/liblapacke-c2c3d14631338304.rlib" "/opt/crater/target/debug/deps/liblapacke_sys-105aa6dd6fb34b3b.rlib" "/opt/crater/target/debug/deps/libcblas-2c1e47218237681a.rlib" "/opt/crater/target/debug/deps/libnum_complex-8e9b7fcbc7b85d75.rlib" "/opt/crater/target/debug/deps/libnum_traits-36fa84b8ef65fd30.rlib" "/opt/crater/target/debug/deps/libcblas_sys-7977d84b55c89e20.rlib" "/opt/crater/target/debug/deps/liblibc-c18a3aca785594a7.rlib" "-Wl,--start-group" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-1d6d86bd078a28e9.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-e9721e46a424e2a9.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-c07193698f282147.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-6da45690f3863086.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-690797036dd27680.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-d3896ccbfd8eda2b.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-7cccc3739e3d7623.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-5e9ba178a513cd29.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-5ca9f83bf63d1f4b.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-bba1c7ef9e950882.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-e23c9de62012deb5.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-9b59dffdcd513d5d.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-17392340ab2e4a97.rlib" "-Wl,--end-group" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ac21508a81e3f7f3.rlib" "-Wl,-Bdynamic" "-lgfortran" "-lblas" "-llapack" "-lcblas" "-llapacke" "-lutil" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" [INFO] [stderr] = note: /usr/bin/ld: cannot find -lblas [INFO] [stderr] /usr/bin/ld: cannot find -llapack [INFO] [stderr] /usr/bin/ld: cannot find -lcblas [INFO] [stderr] /usr/bin/ld: cannot find -llapacke [INFO] [stderr] collect2: error: ld returned 1 exit status [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `blas_lapack_test`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "15d151f3ab07b73583dec1a1ebe77173228835cf4d51fafdba2644e94606ce5b"` [INFO] running `"docker" "rm" "-f" "15d151f3ab07b73583dec1a1ebe77173228835cf4d51fafdba2644e94606ce5b"` [INFO] [stdout] 15d151f3ab07b73583dec1a1ebe77173228835cf4d51fafdba2644e94606ce5b