[INFO] cloning repository https://github.com/hone/lotr-octgn
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hone/lotr-octgn" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhone%2Flotr-octgn", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhone%2Flotr-octgn'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bddb3ddbfa2a32598271932ba17594a7abbc0657
[INFO] testing hone/lotr-octgn against beta-2021-08-01 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhone%2Flotr-octgn" "/workspace/builds/worker-10/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/hone/lotr-octgn on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/hone/lotr-octgn
[INFO] finished tweaking git repo https://github.com/hone/lotr-octgn
[INFO] tweaked toml for git repo https://github.com/hone/lotr-octgn written to /workspace/builds/worker-10/source/Cargo.toml
[INFO] crate git repo https://github.com/hone/lotr-octgn already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quote v0.6.9
[INFO] [stderr]   Downloaded msdos_time v0.1.6
[INFO] [stderr]   Downloaded number_prefix v0.2.8
[INFO] [stderr]   Downloaded argon2rs v0.2.5
[INFO] [stderr]   Downloaded console v0.7.1
[INFO] [stderr]   Downloaded ryu v0.2.6
[INFO] [stderr]   Downloaded serde_urlencoded v0.5.3
[INFO] [stderr]   Downloaded mime_guess v2.0.0-alpha.6
[INFO] [stderr]   Downloaded fs_extra v1.1.0
[INFO] [stderr]   Downloaded phf_generator v0.7.23
[INFO] [stderr]   Downloaded uuid v0.7.1
[INFO] [stderr]   Downloaded http v0.1.13
[INFO] [stderr]   Downloaded hyper-tls v0.3.1
[INFO] [stderr]   Downloaded phf v0.7.23
[INFO] [stderr]   Downloaded redox_users v0.2.0
[INFO] [stderr]   Downloaded git2 v0.7.5
[INFO] [stderr]   Downloaded colored v1.6.1
[INFO] [stderr]   Downloaded phf_shared v0.7.23
[INFO] [stderr]   Downloaded same-file v1.0.4
[INFO] [stderr]   Downloaded bzip2 v0.3.3
[INFO] [stderr]   Downloaded ucd-util v0.1.3
[INFO] [stderr]   Downloaded hyper v0.12.13
[INFO] [stderr]   Downloaded indicatif v0.10.3
[INFO] [stderr]   Downloaded libflate v0.1.18
[INFO] [stderr]   Downloaded docopt v1.0.2
[INFO] [stderr]   Downloaded mime v0.3.12
[INFO] [stderr]   Downloaded phf_codegen v0.7.23
[INFO] [stderr]   Downloaded syn v0.15.18
[INFO] [stderr]   Downloaded crossbeam-deque v0.6.1
[INFO] [stderr]   Downloaded proc-macro2 v0.4.20
[INFO] [stderr]   Downloaded serde_json v1.0.32
[INFO] [stderr]   Downloaded walkdir v2.2.6
[INFO] [stderr]   Downloaded miniz_oxide v0.2.0
[INFO] [stderr]   Downloaded lazy_static v1.1.0
[INFO] [stderr]   Downloaded flate2 v1.0.4
[INFO] [stderr]   Downloaded zip v0.4.2
[INFO] [stderr]   Downloaded miniz_oxide_c_api v0.2.0
[INFO] [stderr]   Downloaded dirs v1.0.4
[INFO] [stderr]   Downloaded clicolors-control v0.3.1
[INFO] [stderr]   Downloaded podio v0.1.6
[INFO] [stderr]   Downloaded libssh2-sys v0.2.11
[INFO] [stderr]   Downloaded bzip2-sys v0.1.6
[INFO] [stderr]   Downloaded reqwest v0.9.4
[INFO] [stderr]   Downloaded libz-sys v1.0.25
[INFO] [stderr]   Downloaded libgit2-sys v0.7.10
[INFO] [stderr]   Downloaded encoding_rs v0.8.10
[INFO] [stderr]   Downloaded roxmltree v0.2.0
[INFO] [stderr]   Downloaded curl-sys v0.4.15
[INFO] [stderr]   Downloaded xmlparser v0.6.1
[INFO] [stderr]   Downloaded mockito v0.14.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f421dd4c2ac62eba11dd57d6daa26a20692ceb1f855cbda7c8d234bc7e398863
[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" "f421dd4c2ac62eba11dd57d6daa26a20692ceb1f855cbda7c8d234bc7e398863", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f421dd4c2ac62eba11dd57d6daa26a20692ceb1f855cbda7c8d234bc7e398863", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f421dd4c2ac62eba11dd57d6daa26a20692ceb1f855cbda7c8d234bc7e398863", kill_on_drop: false }`
[INFO] [stdout] f421dd4c2ac62eba11dd57d6daa26a20692ceb1f855cbda7c8d234bc7e398863
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4ccd12cdacd57a7948e56a840b85ac505d7ee6e7bd7eb8c743e3ee0e8421655e
[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" "4ccd12cdacd57a7948e56a840b85ac505d7ee6e7bd7eb8c743e3ee0e8421655e", 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 lazycell v1.2.0
[INFO] [stderr]    Compiling regex v1.0.6
[INFO] [stderr]    Compiling encoding_rs v0.8.10
[INFO] [stderr]    Compiling xmlparser v0.6.1
[INFO] [stderr]    Compiling fs_extra v1.1.0
[INFO] [stderr]    Compiling termios v0.3.1
[INFO] [stderr]    Compiling dirs v1.0.4
[INFO] [stderr]    Compiling net2 v0.2.33
[INFO] [stderr]    Compiling memchr v2.1.1
[INFO] [stderr]    Compiling miniz_oxide_c_api v0.2.0
[INFO] [stderr]    Compiling bzip2-sys v0.1.6
[INFO] [stderr]    Compiling regex-syntax v0.6.3
[INFO] [stderr]    Compiling miniz_oxide v0.2.0
[INFO] [stderr]    Compiling bytes v0.4.10
[INFO] [stderr]    Compiling futures-cpupool v0.1.8
[INFO] [stderr]    Compiling msdos_time v0.1.6
[INFO] [stderr]    Compiling walkdir v2.2.6
[INFO] [stderr]    Compiling tokio-current-thread v0.1.3
[INFO] [stderr]    Compiling tokio-timer v0.2.7
[INFO] [stderr]    Compiling lock_api v0.1.4
[INFO] [stderr]    Compiling uuid v0.7.1
[INFO] [stderr]    Compiling openssl-sys v0.9.39
[INFO] [stderr]    Compiling libz-sys v1.0.25
[INFO] [stderr]    Compiling quote v0.6.9
[INFO] [stderr]    Compiling url v1.7.1
[INFO] [stderr]    Compiling number_prefix v0.2.8
[INFO] [stderr]    Compiling crossbeam-epoch v0.5.2
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling clicolors-control v0.3.1
[INFO] [stderr]    Compiling mio v0.6.16
[INFO] [stderr]    Compiling roxmltree v0.2.0
[INFO] [stderr]    Compiling tokio-io v0.1.10
[INFO] [stderr]    Compiling http v0.1.13
[INFO] [stderr]    Compiling libflate v0.1.18
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]    Compiling syn v0.15.18
[INFO] [stderr]    Compiling crossbeam-deque v0.6.1
[INFO] [stderr]    Compiling openssl v0.10.15
[INFO] [stderr]    Compiling libssh2-sys v0.2.11
[INFO] [stderr]    Compiling curl-sys v0.4.15
[INFO] [stderr]    Compiling parking_lot v0.6.4
[INFO] [stderr]    Compiling serde_urlencoded v0.5.3
[INFO] [stderr]    Compiling aho-corasick v0.6.9
[INFO] [stderr]    Compiling flate2 v1.0.4
[INFO] [stderr]    Compiling tokio-threadpool v0.1.8
[INFO] [stderr]    Compiling rayon v1.0.3
[INFO] [stderr]    Compiling mime_guess v2.0.0-alpha.6
[INFO] [stderr]    Compiling tokio-codec v0.1.1
[INFO] [stderr]    Compiling mio-uds v0.6.7
[INFO] [stderr]    Compiling libgit2-sys v0.7.10
[INFO] [stderr]    Compiling tokio-reactor v0.1.6
[INFO] [stderr]    Compiling bzip2 v0.3.3
[INFO] [stderr]    Compiling tokio-fs v0.1.4
[INFO] [stderr]    Compiling git2 v0.7.5
[INFO] [stderr]    Compiling zip v0.4.2
[INFO] [stderr]    Compiling tokio-udp v0.1.2
[INFO] [stderr]    Compiling tokio-tcp v0.1.2
[INFO] [stderr]    Compiling tokio-uds v0.2.3
[INFO] [stderr]    Compiling tokio v0.1.11
[INFO] [stderr]    Compiling h2 v0.1.13
[INFO] [stderr]    Compiling native-tls v0.2.2
[INFO] [stderr]    Compiling console v0.7.1
[INFO] [stderr]    Compiling indicatif v0.10.3
[INFO] [stderr]    Compiling hyper v0.12.13
[INFO] [stderr]    Compiling serde_derive v1.0.80
[INFO] [stderr]    Compiling hyper-tls v0.3.1
[INFO] [stderr]    Compiling reqwest v0.9.4
[INFO] [stderr]    Compiling docopt v1.0.2
[INFO] [stderr]    Compiling lotr-octgn v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/git_cache.rs:35:53
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn update_or_fetch(&self) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/octgn.rs:112:51
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new(doc: &Document) -> Result<Set, Box<std::error::Error>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/octgn.rs:160:72
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn fetch_all(folder: &std::path::Path) -> Result<Vec<Set>, Box<std::error::Error>> {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/octgn.rs:181:44
[INFO] [stdout]     |
[INFO] [stdout] 181 |             .collect::<Vec<Result<Set, Box<std::error::Error>>>>();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 | ) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:118:61
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn zip_directory(dir: &str, output: &str) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:168:49
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub fn pack(set: &octgn::Set) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:186:56
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub fn sets(dir: &Path) -> Result<Vec<octgn::Set>, Box<std::error::Error>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]   --> src/main.rs:66:36
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 let index = buffer.trim_right().parse::<usize>().unwrap_or_else(|_| {
[INFO] [stdout]    |                                    ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 52s
[INFO] running `Command { std: "docker" "inspect" "4ccd12cdacd57a7948e56a840b85ac505d7ee6e7bd7eb8c743e3ee0e8421655e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4ccd12cdacd57a7948e56a840b85ac505d7ee6e7bd7eb8c743e3ee0e8421655e", kill_on_drop: false }`
[INFO] [stdout] 4ccd12cdacd57a7948e56a840b85ac505d7ee6e7bd7eb8c743e3ee0e8421655e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ce235c687d56ac3ca3363a20bea1bb130859734bb594c2497d7a9b09e83ca169
[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" "ce235c687d56ac3ca3363a20bea1bb130859734bb594c2497d7a9b09e83ca169", kill_on_drop: false }`
[INFO] [stderr]    Compiling colored v1.6.1
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/git_cache.rs:35:53
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn update_or_fetch(&self) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/octgn.rs:112:51
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new(doc: &Document) -> Result<Set, Box<std::error::Error>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/octgn.rs:160:72
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn fetch_all(folder: &std::path::Path) -> Result<Vec<Set>, Box<std::error::Error>> {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/octgn.rs:181:44
[INFO] [stdout]     |
[INFO] [stdout] 181 |             .collect::<Vec<Result<Set, Box<std::error::Error>>>>();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 | ) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:118:61
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn zip_directory(dir: &str, output: &str) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:168:49
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub fn pack(set: &octgn::Set) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:186:56
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub fn sets(dir: &Path) -> Result<Vec<octgn::Set>, Box<std::error::Error>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling mockito v0.14.0
[INFO] [stderr]    Compiling lotr-octgn v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/git_cache.rs:35:53
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn update_or_fetch(&self) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/octgn.rs:112:51
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new(doc: &Document) -> Result<Set, Box<std::error::Error>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/octgn.rs:160:72
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn fetch_all(folder: &std::path::Path) -> Result<Vec<Set>, Box<std::error::Error>> {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/octgn.rs:181:44
[INFO] [stdout]     |
[INFO] [stdout] 181 |             .collect::<Vec<Result<Set, Box<std::error::Error>>>>();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 | ) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:118:61
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn zip_directory(dir: &str, output: &str) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:168:49
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub fn pack(set: &octgn::Set) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:186:56
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub fn sets(dir: &Path) -> Result<Vec<octgn::Set>, Box<std::error::Error>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/tests/mocks/hall_of_beorn.rs:6:53
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn card_set(set_name: &str) -> Result<Mock, Box<std::error::Error>> {
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]   --> src/main.rs:66:36
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 let index = buffer.trim_right().parse::<usize>().unwrap_or_else(|_| {
[INFO] [stdout]    |                                    ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 15.21s
[INFO] running `Command { std: "docker" "inspect" "ce235c687d56ac3ca3363a20bea1bb130859734bb594c2497d7a9b09e83ca169", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce235c687d56ac3ca3363a20bea1bb130859734bb594c2497d7a9b09e83ca169", kill_on_drop: false }`
[INFO] [stdout] ce235c687d56ac3ca3363a20bea1bb130859734bb594c2497d7a9b09e83ca169
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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" "+beta-2021-08-01" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0deaeebeeac0bf936b8747cb2b2dac43cc91498195578bbfa6b32edb9eca7eec
[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" "0deaeebeeac0bf936b8747cb2b2dac43cc91498195578bbfa6b32edb9eca7eec", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/git_cache.rs:35:53
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn update_or_fetch(&self) -> Result<(), Box<std::error::Error>> {
[INFO] [stderr]    |                                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/octgn.rs:112:51
[INFO] [stderr]     |
[INFO] [stderr] 112 |     pub fn new(doc: &Document) -> Result<Set, Box<std::error::Error>> {
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/octgn.rs:160:72
[INFO] [stderr]     |
[INFO] [stderr] 160 |     pub fn fetch_all(folder: &std::path::Path) -> Result<Vec<Set>, Box<std::error::Error>> {
[INFO] [stderr]     |                                                                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/octgn.rs:181:44
[INFO] [stderr]     |
[INFO] [stderr] 181 |             .collect::<Vec<Result<Set, Box<std::error::Error>>>>();
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:85:21
[INFO] [stderr]    |
[INFO] [stderr] 85 | ) -> Result<(), Box<std::error::Error>> {
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:118:61
[INFO] [stderr]     |
[INFO] [stderr] 118 | fn zip_directory(dir: &str, output: &str) -> Result<(), Box<std::error::Error>> {
[INFO] [stderr]     |                                                             ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:168:49
[INFO] [stderr]     |
[INFO] [stderr] 168 | pub fn pack(set: &octgn::Set) -> Result<(), Box<std::error::Error>> {
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:186:56
[INFO] [stderr]     |
[INFO] [stderr] 186 | pub fn sets(dir: &Path) -> Result<Vec<octgn::Set>, Box<std::error::Error>> {
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/tests/mocks/hall_of_beorn.rs:6:53
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn card_set(set_name: &str) -> Result<Mock, Box<std::error::Error>> {
[INFO] [stderr]   |                                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[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 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `lotr-octgn` (lib) generated 8 warnings
[INFO] [stderr] warning: `lotr-octgn` (lib test) generated 9 warnings (8 duplicates)
[INFO] [stderr] warning: use of deprecated associated function `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stderr]   --> src/main.rs:66:36
[INFO] [stderr]    |
[INFO] [stderr] 66 |                 let index = buffer.trim_right().parse::<usize>().unwrap_or_else(|_| {
[INFO] [stderr]    |                                    ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `lotr-octgn` (bin "lotr-octgn" test) generated 1 warning
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/lotr_octgn-61ed79a92b96f4d3)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test octgn::tests::test_new_missing_name ... ok
[INFO] [stdout] test octgn::tests::test_new_missing_game_id ... ok
[INFO] [stdout] test octgn::tests::test_new_missing_id ... ok
[INFO] [stdout] test octgn::tests::test_card_back ... ok
[INFO] [stdout] test octgn::tests::test_new ... ok
[INFO] [stdout] test octgn::tests::test_fetch_all_err ... FAILED
[INFO] [stdout] test git_cache::tests::test_fetch_or_update_octgn_git_dir_existing ... FAILED
[INFO] [stdout] test tests::test_fetch_images_normal ... ok
[INFO] [stderr] error: test failed, to rerun pass '--lib'
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/lotr_octgn-61ed79a92b96f4d3` (signal: 11, SIGSEGV: invalid memory reference)
[INFO] running `Command { std: "docker" "inspect" "0deaeebeeac0bf936b8747cb2b2dac43cc91498195578bbfa6b32edb9eca7eec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0deaeebeeac0bf936b8747cb2b2dac43cc91498195578bbfa6b32edb9eca7eec", kill_on_drop: false }`
[INFO] [stdout] 0deaeebeeac0bf936b8747cb2b2dac43cc91498195578bbfa6b32edb9eca7eec
