[INFO] cloning repository https://github.com/sMorac/raytracer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sMorac/raytracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsMorac%2Fraytracer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsMorac%2Fraytracer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c88200befdadf05a922e6811806dc2deea671670 [INFO] testing sMorac/raytracer against master#432e145bd5a974c5b6f4dd9b352891bd7502b69d for pr-87041 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsMorac%2Fraytracer" "/workspace/builds/worker-5/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/sMorac/raytracer on toolchain 432e145bd5a974c5b6f4dd9b352891bd7502b69d [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/sMorac/raytracer [INFO] finished tweaking git repo https://github.com/sMorac/raytracer [INFO] tweaked toml for git repo https://github.com/sMorac/raytracer written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate git repo https://github.com/sMorac/raytracer already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c2c1d5464b93f8e4af2d73b296135b56ea08ecc552cd3e31a89fb65f2d28226d [INFO] running `Command { std: "docker" "start" "-a" "c2c1d5464b93f8e4af2d73b296135b56ea08ecc552cd3e31a89fb65f2d28226d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c2c1d5464b93f8e4af2d73b296135b56ea08ecc552cd3e31a89fb65f2d28226d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c2c1d5464b93f8e4af2d73b296135b56ea08ecc552cd3e31a89fb65f2d28226d", kill_on_drop: false }` [INFO] [stdout] c2c1d5464b93f8e4af2d73b296135b56ea08ecc552cd3e31a89fb65f2d28226d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1eb3c9617ce0306061530e2c832119181ad7f645b41e725ac64b10d4dd8d8556 [INFO] running `Command { std: "docker" "start" "-a" "1eb3c9617ce0306061530e2c832119181ad7f645b41e725ac64b10d4dd8d8556", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling autocfg v0.1.2 [INFO] [stderr] Compiling libc v0.2.51 [INFO] [stderr] Compiling rand_jitter v0.1.3 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling raytracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub material: &'a Material, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub material: &'a Material, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_min` [INFO] [stdout] --> src/hitable.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 86 | fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_max` [INFO] [stdout] --> src/hitable.rs:86:42 [INFO] [stdout] | [INFO] [stdout] 86 | fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 6.18s [INFO] running `Command { std: "docker" "inspect" "1eb3c9617ce0306061530e2c832119181ad7f645b41e725ac64b10d4dd8d8556", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1eb3c9617ce0306061530e2c832119181ad7f645b41e725ac64b10d4dd8d8556", kill_on_drop: false }` [INFO] [stdout] 1eb3c9617ce0306061530e2c832119181ad7f645b41e725ac64b10d4dd8d8556 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9b46740b8abd31ae2c0cbb4d4404b0740b8d9676819ec374acb61c7b70680afa [INFO] running `Command { std: "docker" "start" "-a" "9b46740b8abd31ae2c0cbb4d4404b0740b8d9676819ec374acb61c7b70680afa", kill_on_drop: false }` [INFO] [stderr] Compiling raytracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub material: &'a Material, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub material: &'a Material, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_min` [INFO] [stdout] --> src/hitable.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 86 | fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_max` [INFO] [stdout] --> src/hitable.rs:86:42 [INFO] [stdout] | [INFO] [stdout] 86 | fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub material: &'a Material, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub material: &'a Material, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_min` [INFO] [stdout] --> src/hitable.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 86 | fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_max` [INFO] [stdout] --> src/hitable.rs:86:42 [INFO] [stdout] | [INFO] [stdout] 86 | fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.94s [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9b46740b8abd31ae2c0cbb4d4404b0740b8d9676819ec374acb61c7b70680afa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9b46740b8abd31ae2c0cbb4d4404b0740b8d9676819ec374acb61c7b70680afa", kill_on_drop: false }` [INFO] [stdout] 9b46740b8abd31ae2c0cbb4d4404b0740b8d9676819ec374acb61c7b70680afa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 248ab3a72529d7fd68143dba00eabe4f8fcac25fb2c3cf0a4ef33158e7a88675 [INFO] running `Command { std: "docker" "start" "-a" "248ab3a72529d7fd68143dba00eabe4f8fcac25fb2c3cf0a4ef33158e7a88675", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material.rs:12:23 [INFO] [stderr] | [INFO] [stderr] 12 | pub material: &'a Material, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material.rs:12:23 [INFO] [stderr] | [INFO] [stderr] 12 | pub material: &'a Material, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t_min` [INFO] [stderr] --> src/hitable.rs:86:30 [INFO] [stderr] | [INFO] [stderr] 86 | fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t_max` [INFO] [stderr] --> src/hitable.rs:86:42 [INFO] [stderr] | [INFO] [stderr] 86 | fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max` [INFO] [stderr] [INFO] [stderr] warning: 4 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material.rs:12:23 [INFO] [stderr] | [INFO] [stderr] 12 | pub material: &'a Material, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material.rs:12:23 [INFO] [stderr] | [INFO] [stderr] 12 | pub material: &'a Material, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t_min` [INFO] [stderr] --> src/hitable.rs:86:30 [INFO] [stderr] | [INFO] [stderr] 86 | fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t_max` [INFO] [stderr] --> src/hitable.rs:86:42 [INFO] [stderr] | [INFO] [stderr] 86 | fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max` [INFO] [stderr] [INFO] [stderr] warning: 4 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/raytracer-3fdaf89ccb4e2fba) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test color::tests::test_color ... ok [INFO] [stdout] test vec3::tests::test_neg_vec3 ... ok [INFO] [stdout] test vec3::tests::test_square_length_vec3 ... ok [INFO] [stdout] test vec3::tests::test_sub_vec3 ... ok [INFO] [stdout] test vec3::tests::test_unit_vector_vec3 ... ok [INFO] [stdout] test vec3::tests::test_init_vec3 ... ok [INFO] [stdout] test vec3::tests::test_div_vec3 ... ok [INFO] [stdout] test vec3::tests::test_length_vec3 ... ok [INFO] [stdout] test vec3::tests::test_cross_vec3 ... ok [INFO] [stdout] test vec3::tests::test_add_vect3 ... ok [INFO] [stdout] test vec3::tests::test_mul_vec3 ... ok [INFO] [stdout] test vec3::tests::test_dot_vec3 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/raytracer-c7d4287d436a22ae) [INFO] [stdout] [INFO] [stderr] Doc-tests raytracer [INFO] [stdout] running 0 tests [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 0 tests [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] running `Command { std: "docker" "inspect" "248ab3a72529d7fd68143dba00eabe4f8fcac25fb2c3cf0a4ef33158e7a88675", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "248ab3a72529d7fd68143dba00eabe4f8fcac25fb2c3cf0a4ef33158e7a88675", kill_on_drop: false }` [INFO] [stdout] 248ab3a72529d7fd68143dba00eabe4f8fcac25fb2c3cf0a4ef33158e7a88675