[INFO] fetching crate newport_cache 0.2.0... [INFO] checking newport_cache-0.2.0 against master#506512391b1a75ae450d36c9420978402a91abcc for pr-125384 [INFO] extracting crate newport_cache 0.2.0 into /workspace/builds/worker-5-tc1/source [INFO] validating manifest of crates.io crate newport_cache 0.2.0 on toolchain 506512391b1a75ae450d36c9420978402a91abcc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+506512391b1a75ae450d36c9420978402a91abcc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate newport_cache 0.2.0 [INFO] finished tweaking crates.io crate newport_cache 0.2.0 [INFO] tweaked toml for crates.io crate newport_cache 0.2.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+506512391b1a75ae450d36c9420978402a91abcc" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 16 packages to latest compatible versions [INFO] [stderr] Adding base64 v0.13.1 (latest: v0.22.1) [INFO] [stderr] Adding bitflags v1.3.2 (latest: v2.5.0) [INFO] [stderr] Adding ron v0.6.6 (latest: v0.8.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+506512391b1a75ae450d36c9420978402a91abcc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded newport_engine v0.2.0 [INFO] [stderr] Downloaded newport_serde v0.2.0 [INFO] [stderr] Downloaded newport_math v0.2.0 [INFO] [stderr] Downloaded newport_os v0.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+506512391b1a75ae450d36c9420978402a91abcc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 20b0297496cc1072209be923bbf311823089f485bbcc4f6294c877ad7d0ed9b1 [INFO] running `Command { std: "docker" "start" "-a" "20b0297496cc1072209be923bbf311823089f485bbcc4f6294c877ad7d0ed9b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "20b0297496cc1072209be923bbf311823089f485bbcc4f6294c877ad7d0ed9b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "20b0297496cc1072209be923bbf311823089f485bbcc4f6294c877ad7d0ed9b1", kill_on_drop: false }` [INFO] [stdout] 20b0297496cc1072209be923bbf311823089f485bbcc4f6294c877ad7d0ed9b1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=allow" "-e" "RUSTDOCFLAGS=--cap-lints=allow" "-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+506512391b1a75ae450d36c9420978402a91abcc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7f6d3f218b8db5f08c6060f6e2b12d0bd53ab4835072c06e812da1d30505b522 [INFO] running `Command { std: "docker" "start" "-a" "7f6d3f218b8db5f08c6060f6e2b12d0bd53ab4835072c06e812da1d30505b522", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.84 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling syn v2.0.66 [INFO] [stderr] Compiling serde_derive v1.0.203 [INFO] [stderr] Checking serde v1.0.203 [INFO] [stderr] Checking newport_math v0.2.0 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking ron v0.6.6 [INFO] [stderr] Checking newport_os v0.2.0 [INFO] [stdout] error[E0433]: failed to resolve: could not find `windows` in `os` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/window.rs:30:6 [INFO] [stdout] | [INFO] [stdout] 30 | os::windows::ffi::OsStrExt, [INFO] [stdout] | ^^^^^^^ could not find `windows` in `os` [INFO] [stdout] | [INFO] [stdout] note: found an item that was configured out [INFO] [stdout] --> /rustc/506512391b1a75ae450d36c9420978402a91abcc/library/std/src/os/mod.rs:53:9 [INFO] [stdout] note: found an item that was configured out [INFO] [stdout] --> /rustc/506512391b1a75ae450d36c9420978402a91abcc/library/std/src/os/mod.rs:100:9 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::win32` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/dialog.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::win32::*; [INFO] [stdout] | ^^^^^ could not find `win32` in the crate root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `OPENFILENAMEA` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/dialog.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | let mut ofa = OPENFILENAMEA { [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `OPENFILENAMEA` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/dialog.rs:71:27 [INFO] [stdout] | [INFO] [stdout] 71 | lStructSize: size_of::() as DWORD, [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 57 | impl<'a, OPENFILENAMEA> DialogBuilder<'a> { [INFO] [stdout] | +++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `DWORD` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/dialog.rs:71:47 [INFO] [stdout] | [INFO] [stdout] 71 | lStructSize: size_of::() as DWORD, [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `DWORD` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/dialog.rs:77:44 [INFO] [stdout] | [INFO] [stdout] 77 | nFilterIndex: self.default_extension as DWORD, [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OFN_PATHMUSTEXIST` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/dialog.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 84 | Flags: OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OFN_FILEMUSTEXIST` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/dialog.rs:84:31 [INFO] [stdout] | [INFO] [stdout] 84 | Flags: OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `LPCSTR` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/library.rs:28:47 [INFO] [stdout] | [INFO] [stdout] 28 | let handle = LoadLibraryA(path.as_ptr() as LPCSTR); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `INVALID_HANDLE_VALUE` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/library.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | if handle == INVALID_HANDLE_VALUE { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `LPVOID` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/library.rs:36:43 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn raw_address(&self, proc: &str) -> LPVOID { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `LPCSTR` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/library.rs:42:59 [INFO] [stdout] | [INFO] [stdout] 42 | unsafe { GetProcAddress(self.handle, buffer.as_ptr() as LPCSTR) as _ } [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `HRESULT` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/window.rs:46:71 [INFO] [stdout] | [INFO] [stdout] 46 | type SetProcessDPIAwareness = extern "C" fn(PROCESS_DPI_AWARENESS) -> HRESULT; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `HMONITOR` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/window.rs:57:39 [INFO] [stdout] | [INFO] [stdout] 57 | type GetDpiForMonitor = extern "C" fn(HMONITOR, MONITOR_DPI_TYPE, *mut UINT, *mut UINT) -> HRESULT; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `UINT` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/window.rs:57:72 [INFO] [stdout] | [INFO] [stdout] 57 | type GetDpiForMonitor = extern "C" fn(HMONITOR, MONITOR_DPI_TYPE, *mut UINT, *mut UINT) -> HRESULT; [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `UINT` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/window.rs:57:83 [INFO] [stdout] | [INFO] [stdout] 57 | type GetDpiForMonitor = extern "C" fn(HMONITOR, MONITOR_DPI_TYPE, *mut UINT, *mut UINT) -> HRESULT; [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `HRESULT` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/window.rs:57:92 [INFO] [stdout] | [INFO] [stdout] 57 | type GetDpiForMonitor = extern "C" fn(HMONITOR, MONITOR_DPI_TYPE, *mut UINT, *mut UINT) -> HRESULT; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `WindowHandle` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/window.rs:298:10 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum WindowStyle { [INFO] [stdout] | -------------------- similarly named enum `WindowStyle` defined here [INFO] [stdout] ... [INFO] [stdout] 298 | handle: WindowHandle, [INFO] [stdout] | ^^^^^^^^^^^^ help: an enum with a similar name exists: `WindowStyle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `handle` found for reference `&'a Window` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/dialog.rs:72:27 [INFO] [stdout] | [INFO] [stdout] 72 | hwndOwner: self.window.handle(), [INFO] [stdout] | ^^^^^^ private field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `GetModuleHandleA` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/dialog.rs:73:24 [INFO] [stdout] | [INFO] [stdout] 73 | hInstance: unsafe { GetModuleHandleA(null()) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `GetOpenFileNameA` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/dialog.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | unsafe { GetOpenFileNameA(&mut ofa) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `GetLastError` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/dialog.rs:100:25 [INFO] [stdout] | [INFO] [stdout] 100 | let result = unsafe { GetLastError() }; [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `LoadLibraryA` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/library.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | let handle = LoadLibraryA(path.as_ptr() as LPCSTR); [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `Library` has no field named `handle` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/library.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | Ok(Library { handle: handle }) [INFO] [stdout] | ^^^^^^ `Library` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `handle` on type `&Library` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/library.rs:42:32 [INFO] [stdout] | [INFO] [stdout] 42 | unsafe { GetProcAddress(self.handle, buffer.as_ptr() as LPCSTR) as _ } [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `GetProcAddress` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/library.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | unsafe { GetProcAddress(self.handle, buffer.as_ptr() as LPCSTR) as _ } [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `handle` on type `&mut Library` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/library.rs:49:21 [INFO] [stdout] | [INFO] [stdout] 49 | FreeLibrary(self.handle); [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `FreeLibrary` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/library.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | FreeLibrary(self.handle); [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `SYSTEMTIME` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/time.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | let mut system_time = SYSTEMTIME::default(); [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type `SYSTEMTIME` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `GetLocalTime` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/time.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | unsafe { GetLocalTime(&mut system_time) }; [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `win32` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/newport_os-0.2.0/src/lib.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | (unsafe { win32::GetCaretBlinkTime() } as f32) / 1000.0 [INFO] [stdout] | ^^^^^ use of undeclared crate or module `win32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 31 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0422, E0425, E0432, E0433, E0560, E0599, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] [INFO] [stderr] error: could not compile `newport_os` (lib) due to 32 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "7f6d3f218b8db5f08c6060f6e2b12d0bd53ab4835072c06e812da1d30505b522", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7f6d3f218b8db5f08c6060f6e2b12d0bd53ab4835072c06e812da1d30505b522", kill_on_drop: false }` [INFO] [stdout] 7f6d3f218b8db5f08c6060f6e2b12d0bd53ab4835072c06e812da1d30505b522