[INFO] fetching crate leo-imports 1.2.3... [INFO] checking leo-imports-1.2.3 against master#4fa76a4a7742bb9c1febe33019f5a9e7e4839a65 for pr-83744 [INFO] extracting crate leo-imports 1.2.3 into /workspace/builds/worker-5/source [INFO] validating manifest of crates.io crate leo-imports 1.2.3 on toolchain 4fa76a4a7742bb9c1febe33019f5a9e7e4839a65 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+4fa76a4a7742bb9c1febe33019f5a9e7e4839a65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate leo-imports 1.2.3 [INFO] finished tweaking crates.io crate leo-imports 1.2.3 [INFO] tweaked toml for crates.io crate leo-imports 1.2.3 written to /workspace/builds/worker-5/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+4fa76a4a7742bb9c1febe33019f5a9e7e4839a65" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+4fa76a4a7742bb9c1febe33019f5a9e7e4839a65" "fetch" "--locked" "--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" "rustops/crates-build-env@sha256:c46a2d1a26fb48b37929c74ca49dd9409f2375a0a3bdb8fe07617f3ffccaa889" "/opt/rustwide/cargo-home/bin/cargo" "+4fa76a4a7742bb9c1febe33019f5a9e7e4839a65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a95b1d706f11f231c81e20fb4027504cb27070502befec1552d45cb896f9de24 [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" "a95b1d706f11f231c81e20fb4027504cb27070502befec1552d45cb896f9de24", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a95b1d706f11f231c81e20fb4027504cb27070502befec1552d45cb896f9de24", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a95b1d706f11f231c81e20fb4027504cb27070502befec1552d45cb896f9de24", kill_on_drop: false }` [INFO] [stdout] a95b1d706f11f231c81e20fb4027504cb27070502befec1552d45cb896f9de24 [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" "rustops/crates-build-env@sha256:c46a2d1a26fb48b37929c74ca49dd9409f2375a0a3bdb8fe07617f3ffccaa889" "/opt/rustwide/cargo-home/bin/cargo" "+4fa76a4a7742bb9c1febe33019f5a9e7e4839a65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", 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] 5bd1a8424e36c868ef579f08c11cb0c3bf384b040e892c38e9d68a3c10bf5aa5 [INFO] running `Command { std: "docker" "start" "-a" "5bd1a8424e36c868ef579f08c11cb0c3bf384b040e892c38e9d68a3c10bf5aa5", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.26 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.69 [INFO] [stderr] Compiling libc v0.2.93 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling gimli v0.23.0 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling object v0.23.0 [INFO] [stderr] Compiling rustc-demangle v0.1.18 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling ucd-trie v0.1.3 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling serde_derive v1.0.125 [INFO] [stderr] Compiling serde v1.0.125 [INFO] [stderr] Compiling maplit v1.0.2 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling serde_json v1.0.64 [INFO] [stderr] Checking pin-project-lite v0.2.6 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Compiling anyhow v1.0.40 [INFO] [stderr] Checking mac v0.1.1 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Checking new_debug_unreachable v1.0.4 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Checking typed-arena v2.0.1 [INFO] [stderr] Compiling pest v2.1.3 [INFO] [stderr] Compiling itertools v0.7.11 [INFO] [stderr] Checking tracing-core v0.1.17 [INFO] [stderr] Checking futf v0.1.4 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling indexmap v1.6.2 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling num-bigint v0.4.0 [INFO] [stderr] Checking tendril v0.4.2 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling pest_meta v2.1.3 [INFO] [stderr] Checking from-pest v0.3.1 [INFO] [stderr] Compiling addr2line v0.14.1 [INFO] [stderr] Compiling backtrace v0.3.56 [INFO] [stderr] Compiling synstructure v0.12.4 [INFO] [stderr] Compiling pest_generator v2.1.3 [INFO] [stderr] Compiling thiserror-impl v1.0.24 [INFO] [stderr] Compiling tracing-attributes v0.1.15 [INFO] [stderr] Compiling pest_derive v2.1.0 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling single v1.0.0 [INFO] [stderr] Compiling pest-ast v0.3.3 [INFO] [stderr] Checking thiserror v1.0.24 [INFO] [stderr] Checking tracing v0.1.25 [INFO] [stderr] Checking leo-input v1.4.0 [INFO] [stderr] Checking leo-ast v1.4.0 [INFO] [stderr] Checking leo-grammar v1.2.3 [INFO] [stderr] Checking leo-parser v1.4.0 [INFO] [stderr] Checking leo-asg v1.4.0 [INFO] [stderr] Checking leo-imports v1.2.3 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved imports `leo_ast::AstError`, `leo_ast::DeprecatedError`, `leo_ast::Error` [INFO] [stdout] --> src/errors/import_parser.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use leo_ast::{AstError, DeprecatedError, Error as FormattedError, Identifier, Span}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ -----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | no `Error` in the root [INFO] [stdout] | | | help: a similar name exists in the module: `error` [INFO] [stdout] | | no `DeprecatedError` in the root [INFO] [stdout] | no `AstError` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `leo_ast::AstError`, `leo_ast::DeprecatedError`, `leo_ast::Error` [INFO] [stdout] --> src/errors/import_parser.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use leo_ast::{AstError, DeprecatedError, Error as FormattedError, Identifier, Span}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ -----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | no `Error` in the root [INFO] [stdout] | | | help: a similar name exists in the module: `error` [INFO] [stdout] | | no `DeprecatedError` in the root [INFO] [stdout] | no `AstError` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `InternalProgram` in `leo_asg` [INFO] [stdout] --> src/parser/parse_package.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | let asg = leo_asg::InternalProgram::new(context, &program, self)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ could not find `InternalProgram` in `leo_asg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `InternalProgram` in `leo_asg` [INFO] [stdout] --> src/parser/parse_package.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | let asg = leo_asg::InternalProgram::new(context, &program, self)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ could not find `InternalProgram` in `leo_asg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `AstError` found for enum `AsgConvertError` in the current scope [INFO] [stdout] --> src/errors/import_parser.rs:41:71 [INFO] [stdout] | [INFO] [stdout] 41 | ImportParserError::DeprecatedError(x) => AsgConvertError::AstError(AstError::DeprecatedError(x)), [INFO] [stdout] | ^^^^^^^^ variant or associated item not found in `AsgConvertError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AsgConvertError: From` is not satisfied [INFO] [stdout] --> src/errors/import_parser.rs:40:52 [INFO] [stdout] | [INFO] [stdout] 40 | ImportParserError::ParserError(x) => x.into(), [INFO] [stdout] | ^^^^ the trait `From` is not implemented for `AsgConvertError` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] = note: required because of the requirements on the impl of `Into` for `ParserError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `Span` has no field named `text` [INFO] [stdout] --> src/errors/import_parser.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | text: "".to_string(), [INFO] [stdout] | ^^^^ `Span` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `line_start`, `line_stop`, `col_start`, `col_stop`, `path`, `content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `Span` has no field named `line` [INFO] [stdout] --> src/errors/import_parser.rs:95:13 [INFO] [stdout] | [INFO] [stdout] 95 | line: 0, [INFO] [stdout] | ^^^^ `Span` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `line_start`, `line_stop`, `col_start`, `col_stop`, `path`, `content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `Span` has no field named `start` [INFO] [stdout] --> src/errors/import_parser.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | start: 0, [INFO] [stdout] | ^^^^^ `Span` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `line_start`, `line_stop`, `col_start`, `col_stop`, `path`, `content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `Span` has no field named `end` [INFO] [stdout] --> src/errors/import_parser.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | end: 0, [INFO] [stdout] | ^^^ `Span` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `line_start`, `line_stop`, `col_start`, `col_stop`, `path`, `content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `text` on type `Span` [INFO] [stdout] --> src/errors/import_parser.rs:128:25 [INFO] [stdout] | [INFO] [stdout] 128 | entry, span.text [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `line_start`, `line_stop`, `col_start`, `col_stop`, `path`, `content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied [INFO] [stdout] --> src/parser/parse_symbol.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | Ok(Program::from(&file_name, ast.as_repr())?) [INFO] [stdout] | ^^^^^^^^^^^^^ ---------- ------------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 1 argument [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try` [INFO] [stdout] --> src/parser/parse_symbol.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | Ok(Program::from(&file_name, ast.as_repr())?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `leo_ast::Program` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Try` is not implemented for `leo_ast::Program` [INFO] [stdout] = note: required by `into_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `AstError` found for enum `AsgConvertError` in the current scope [INFO] [stdout] --> src/errors/import_parser.rs:41:71 [INFO] [stdout] | [INFO] [stdout] 41 | ImportParserError::DeprecatedError(x) => AsgConvertError::AstError(AstError::DeprecatedError(x)), [INFO] [stdout] | ^^^^^^^^ variant or associated item not found in `AsgConvertError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AsgConvertError: From` is not satisfied [INFO] [stdout] --> src/errors/import_parser.rs:40:52 [INFO] [stdout] | [INFO] [stdout] 40 | ImportParserError::ParserError(x) => x.into(), [INFO] [stdout] | ^^^^ the trait `From` is not implemented for `AsgConvertError` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] = note: required because of the requirements on the impl of `Into` for `ParserError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `Span` has no field named `text` [INFO] [stdout] --> src/errors/import_parser.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | text: "".to_string(), [INFO] [stdout] | ^^^^ `Span` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `line_start`, `line_stop`, `col_start`, `col_stop`, `path`, `content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `Span` has no field named `line` [INFO] [stdout] --> src/errors/import_parser.rs:95:13 [INFO] [stdout] | [INFO] [stdout] 95 | line: 0, [INFO] [stdout] | ^^^^ `Span` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `line_start`, `line_stop`, `col_start`, `col_stop`, `path`, `content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `Span` has no field named `start` [INFO] [stdout] --> src/errors/import_parser.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | start: 0, [INFO] [stdout] | ^^^^^ `Span` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `line_start`, `line_stop`, `col_start`, `col_stop`, `path`, `content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `Span` has no field named `end` [INFO] [stdout] --> src/errors/import_parser.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | end: 0, [INFO] [stdout] | ^^^ `Span` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `line_start`, `line_stop`, `col_start`, `col_stop`, `path`, `content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `text` on type `Span` [INFO] [stdout] --> src/errors/import_parser.rs:128:25 [INFO] [stdout] | [INFO] [stdout] 128 | entry, span.text [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `line_start`, `line_stop`, `col_start`, `col_stop`, `path`, `content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied [INFO] [stdout] --> src/parser/parse_symbol.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | Ok(Program::from(&file_name, ast.as_repr())?) [INFO] [stdout] | ^^^^^^^^^^^^^ ---------- ------------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 1 argument [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try` [INFO] [stdout] --> src/parser/parse_symbol.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | Ok(Program::from(&file_name, ast.as_repr())?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `leo_ast::Program` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Try` is not implemented for `leo_ast::Program` [INFO] [stdout] = note: required by `into_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser/parse_package.rs:114:21 [INFO] [stdout] | [INFO] [stdout] 114 | span, [INFO] [stdout] | ^^^^ expected struct `Span`, found `&Span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser/parse_package.rs:114:21 [INFO] [stdout] | [INFO] [stdout] 114 | span, [INFO] [stdout] | ^^^^ expected struct `Span`, found `&Span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser/parse_package.rs:120:21 [INFO] [stdout] | [INFO] [stdout] 120 | span, [INFO] [stdout] | ^^^^ expected struct `Span`, found `&Span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser/parse_package.rs:120:21 [INFO] [stdout] | [INFO] [stdout] 120 | span, [INFO] [stdout] | ^^^^ expected struct `Span`, found `&Span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser/parse_package.rs:129:21 [INFO] [stdout] | [INFO] [stdout] 129 | span, [INFO] [stdout] | ^^^^ expected struct `Span`, found `&Span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 14 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0432, E0433, E0560, E0599, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `leo-imports` [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] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser/parse_package.rs:129:21 [INFO] [stdout] | [INFO] [stdout] 129 | span, [INFO] [stdout] | ^^^^ expected struct `Span`, found `&Span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 14 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0432, E0433, E0560, E0599, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "5bd1a8424e36c868ef579f08c11cb0c3bf384b040e892c38e9d68a3c10bf5aa5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5bd1a8424e36c868ef579f08c11cb0c3bf384b040e892c38e9d68a3c10bf5aa5", kill_on_drop: false }` [INFO] [stdout] 5bd1a8424e36c868ef579f08c11cb0c3bf384b040e892c38e9d68a3c10bf5aa5