[INFO] fetching crate shine-math 0.2.0... [INFO] checking shine-math-0.2.0 against master#39b841dfe36f90a7cd111e7f0c55f32594f6e578 for pr-77035 [INFO] extracting crate shine-math 0.2.0 into /workspace/builds/worker-2/source [INFO] validating manifest of crates.io crate shine-math 0.2.0 on toolchain 39b841dfe36f90a7cd111e7f0c55f32594f6e578 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+39b841dfe36f90a7cd111e7f0c55f32594f6e578" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate shine-math 0.2.0 [INFO] finished tweaking crates.io crate shine-math 0.2.0 [INFO] tweaked toml for crates.io crate shine-math 0.2.0 written to /workspace/builds/worker-2/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+39b841dfe36f90a7cd111e7f0c55f32594f6e578" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+39b841dfe36f90a7cd111e7f0c55f32594f6e578" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+39b841dfe36f90a7cd111e7f0c55f32594f6e578" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 6014a0d24e1d3145a277d4690079ea27dc149f9b4d0afcb6efe2078a721fbd83 [INFO] running `Command { std: "docker" "start" "-a" "6014a0d24e1d3145a277d4690079ea27dc149f9b4d0afcb6efe2078a721fbd83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6014a0d24e1d3145a277d4690079ea27dc149f9b4d0afcb6efe2078a721fbd83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6014a0d24e1d3145a277d4690079ea27dc149f9b4d0afcb6efe2078a721fbd83", kill_on_drop: false }` [INFO] [stdout] 6014a0d24e1d3145a277d4690079ea27dc149f9b4d0afcb6efe2078a721fbd83 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+39b841dfe36f90a7cd111e7f0c55f32594f6e578" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1d47663c9b8e49557a7982bc2b72811cc12c9ba57f6b5a76e527f9816cd3b16e [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "1d47663c9b8e49557a7982bc2b72811cc12c9ba57f6b5a76e527f9816cd3b16e", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.54 [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling libm v0.2.1 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling getrandom v0.2.0 [INFO] [stderr] Checking copyless v0.1.5 [INFO] [stderr] Checking match_cfg v0.1.0 [INFO] [stderr] Checking untrusted v0.6.2 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Compiling ucd-trie v0.1.3 [INFO] [stderr] Checking sha1 v0.6.0 [INFO] [stderr] Compiling maplit v1.0.2 [INFO] [stderr] Checking unic-char-range v0.7.0 [INFO] [stderr] Checking deunicode v0.4.3 [INFO] [stderr] Compiling inflections v1.1.1 [INFO] [stderr] Checking glob v0.2.11 [INFO] [stderr] Checking hashbrown v0.3.1 [INFO] [stderr] Checking svg v0.5.12 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Checking actix-service v0.4.2 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Compiling miniz-sys v0.1.12 [INFO] [stderr] Compiling brotli-sys v0.3.2 [INFO] [stderr] Compiling ring v0.14.6 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Checking lru-cache v0.1.2 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Checking unic-char-property v0.7.0 [INFO] [stderr] Compiling pest v2.1.3 [INFO] [stderr] Checking slug v0.1.4 [INFO] [stderr] Compiling libc v0.2.81 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking net2 v0.2.37 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking getrandom v0.1.15 [INFO] [stderr] Checking hostname v0.3.1 [INFO] [stderr] Checking signal-hook-registry v1.2.2 [INFO] [stderr] Checking base64 v0.10.1 [INFO] [stderr] Checking unic-ucd-segment v0.7.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking threadpool v1.8.1 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling hashbrown v0.6.3 [INFO] [stderr] Checking resolv-conf v0.6.3 [INFO] [stderr] Checking backtrace v0.3.55 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking env_logger v0.6.2 [INFO] [stderr] Checking parking_lot_core v0.6.2 [INFO] [stderr] Checking unic-segment v0.7.0 [INFO] [stderr] Checking tokio-io v0.1.13 [INFO] [stderr] Checking http v0.1.21 [INFO] [stderr] Checking string v0.2.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking flate2 v1.0.19 [INFO] [stderr] Checking parking_lot v0.9.0 [INFO] [stderr] Compiling const-random-macro v0.1.13 [INFO] [stderr] Compiling pest_meta v2.1.3 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking tokio-codec v0.1.2 [INFO] [stderr] Checking tokio-reactor v0.1.12 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking actix-codec v0.1.2 [INFO] [stderr] Checking tokio-tcp v0.1.4 [INFO] [stderr] Checking tokio-udp v0.1.6 [INFO] [stderr] Checking tokio-signal v0.2.9 [INFO] [stderr] Checking actix-utils v0.4.7 [INFO] [stderr] Checking actix-server-config v0.1.2 [INFO] [stderr] Checking const-random v0.1.13 [INFO] [stderr] Checking ahash v0.2.19 [INFO] [stderr] Checking num-integer v0.1.44 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking quickcheck v0.8.5 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking alga v0.9.3 [INFO] [stderr] Checking h2 v0.1.26 [INFO] [stderr] Checking nalgebra v0.18.1 [INFO] [stderr] Checking brotli2 v0.3.2 [INFO] [stderr] Compiling derive_more v0.15.0 [INFO] [stderr] Compiling enum-as-inner v0.2.1 [INFO] [stderr] Compiling shine-gltf-macro v0.2.0 [INFO] [stderr] Compiling derive_more v0.14.1 [INFO] [stderr] Compiling synstructure v0.12.4 [INFO] [stderr] Compiling pest_generator v2.1.3 [INFO] [stderr] Compiling serde_derive v1.0.118 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling v_escape_derive v0.5.6 [INFO] [stderr] Compiling actix-web-codegen v0.1.3 [INFO] [stderr] Compiling pest_derive v2.1.0 [INFO] [stderr] Checking actix-threadpool v0.1.2 [INFO] [stderr] Checking actix-rt v0.2.6 [INFO] [stderr] Checking actix-server v0.6.1 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Checking actix-testing v0.1.0 [INFO] [stderr] Checking trust-dns-proto v0.7.4 [INFO] [stderr] Checking v_escape v0.7.4 [INFO] [stderr] Checking v_htmlescape v0.4.5 [INFO] [stderr] Checking trust-dns-resolver v0.11.1 [INFO] [stderr] Checking actix-connect v0.2.5 [INFO] [stderr] Checking serde v1.0.118 [INFO] [stderr] Checking nalgebra-glm v0.4.2 [INFO] [stderr] Checking serde_json v1.0.60 [INFO] [stderr] Checking serde_urlencoded v0.6.1 [INFO] [stderr] Checking actix-router v0.1.5 [INFO] [stderr] Checking shine-math v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/lib.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | #![feature(custom_attribute)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in favor of `#![register_tool]` and `#![register_attr]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `add_usize` is not a member of trait `Step` [INFO] [stdout] --> src/triangulation/types.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | / fn add_usize(&self, n: usize) -> Option { [INFO] [stdout] 142 | | Some($t(self.0 + n)) [INFO] [stdout] 143 | | } [INFO] [stdout] | |_____________^ not a member of trait `Step` [INFO] [stdout] ... [INFO] [stdout] 168 | step_impl!(VertexIndex); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `replace_one` is not a member of trait `Step` [INFO] [stdout] --> src/triangulation/types.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | / fn replace_one(&mut self) -> Self { [INFO] [stdout] 147 | | mem::replace(self, $t(1)) [INFO] [stdout] 148 | | } [INFO] [stdout] | |_____________^ not a member of trait `Step` [INFO] [stdout] ... [INFO] [stdout] 168 | step_impl!(VertexIndex); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `replace_zero` is not a member of trait `Step` [INFO] [stdout] --> src/triangulation/types.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | / fn replace_zero(&mut self) -> Self { [INFO] [stdout] 152 | | mem::replace(self, $t(0)) [INFO] [stdout] 153 | | } [INFO] [stdout] | |_____________^ not a member of trait `Step` [INFO] [stdout] ... [INFO] [stdout] 168 | step_impl!(VertexIndex); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `add_one` is not a member of trait `Step` [INFO] [stdout] --> src/triangulation/types.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | / fn add_one(&self) -> Self { [INFO] [stdout] 157 | | $t(self.0 + 1) [INFO] [stdout] 158 | | } [INFO] [stdout] | |_____________^ not a member of trait `Step` [INFO] [stdout] ... [INFO] [stdout] 168 | step_impl!(VertexIndex); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `sub_one` is not a member of trait `Step` [INFO] [stdout] --> src/triangulation/types.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | / fn sub_one(&self) -> Self { [INFO] [stdout] 162 | | $t(self.0 - 1) [INFO] [stdout] 163 | | } [INFO] [stdout] | |_____________^ not a member of trait `Step` [INFO] [stdout] ... [INFO] [stdout] 168 | step_impl!(VertexIndex); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `add_usize` is not a member of trait `Step` [INFO] [stdout] --> src/triangulation/types.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | / fn add_usize(&self, n: usize) -> Option { [INFO] [stdout] 142 | | Some($t(self.0 + n)) [INFO] [stdout] 143 | | } [INFO] [stdout] | |_____________^ not a member of trait `Step` [INFO] [stdout] ... [INFO] [stdout] 172 | step_impl!(FaceIndex); [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `replace_one` is not a member of trait `Step` [INFO] [stdout] --> src/triangulation/types.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | / fn replace_one(&mut self) -> Self { [INFO] [stdout] 147 | | mem::replace(self, $t(1)) [INFO] [stdout] 148 | | } [INFO] [stdout] | |_____________^ not a member of trait `Step` [INFO] [stdout] ... [INFO] [stdout] 172 | step_impl!(FaceIndex); [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `replace_zero` is not a member of trait `Step` [INFO] [stdout] --> src/triangulation/types.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | / fn replace_zero(&mut self) -> Self { [INFO] [stdout] 152 | | mem::replace(self, $t(0)) [INFO] [stdout] 153 | | } [INFO] [stdout] | |_____________^ not a member of trait `Step` [INFO] [stdout] ... [INFO] [stdout] 172 | step_impl!(FaceIndex); [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `add_one` is not a member of trait `Step` [INFO] [stdout] --> src/triangulation/types.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | / fn add_one(&self) -> Self { [INFO] [stdout] 157 | | $t(self.0 + 1) [INFO] [stdout] 158 | | } [INFO] [stdout] | |_____________^ not a member of trait `Step` [INFO] [stdout] ... [INFO] [stdout] 172 | step_impl!(FaceIndex); [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `sub_one` is not a member of trait `Step` [INFO] [stdout] --> src/triangulation/types.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | / fn sub_one(&self) -> Self { [INFO] [stdout] 162 | | $t(self.0 - 1) [INFO] [stdout] 163 | | } [INFO] [stdout] | |_____________^ not a member of trait `Step` [INFO] [stdout] ... [INFO] [stdout] 172 | step_impl!(FaceIndex); [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes [INFO] [stdout] --> src/lib.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(specialization)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(incomplete_features)]` on by default [INFO] [stdout] = note: see issue #31844 for more information [INFO] [stdout] = help: consider using `min_specialization` instead, which is more stable and complete [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Direction`, `UVGeneration` [INFO] [stdout] --> src/voxel/polygonize/transvoxel.rs:3:40 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::voxel::polygonize::{Config, Direction, Polygonizer, UVGeneration}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0200]: the trait `Step` requires an `unsafe impl` declaration [INFO] [stdout] --> src/triangulation/types.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | / impl Step for $t { [INFO] [stdout] 130 | | #[inline] [INFO] [stdout] 131 | | fn steps_between(start: &Self, end: &Self) -> Option { [INFO] [stdout] 132 | | if start.0 < end.0 { [INFO] [stdout] ... | [INFO] [stdout] 163 | | } [INFO] [stdout] 164 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] ... [INFO] [stdout] 168 | step_impl!(VertexIndex); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0200]: the trait `Step` requires an `unsafe impl` declaration [INFO] [stdout] --> src/triangulation/types.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | / impl Step for $t { [INFO] [stdout] 130 | | #[inline] [INFO] [stdout] 131 | | fn steps_between(start: &Self, end: &Self) -> Option { [INFO] [stdout] 132 | | if start.0 < end.0 { [INFO] [stdout] ... | [INFO] [stdout] 163 | | } [INFO] [stdout] 164 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] ... [INFO] [stdout] 172 | step_impl!(FaceIndex); [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 13 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0200, E0407, E0557. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0200`. [INFO] [stdout] [INFO] [stderr] error: could not compile `shine-math` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "1d47663c9b8e49557a7982bc2b72811cc12c9ba57f6b5a76e527f9816cd3b16e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d47663c9b8e49557a7982bc2b72811cc12c9ba57f6b5a76e527f9816cd3b16e", kill_on_drop: false }` [INFO] [stdout] 1d47663c9b8e49557a7982bc2b72811cc12c9ba57f6b5a76e527f9816cd3b16e