[INFO] cloning repository https://github.com/roobscoob/fileforge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/roobscoob/fileforge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froobscoob%2Ffileforge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froobscoob%2Ffileforge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cdb319f3cf325e3a59b1b3f90c827494eb748702
[INFO] checking roobscoob/fileforge against try#a3a874232ae0a7586b5fbe7483c5a42e157bd62a for pr-151109
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froobscoob%2Ffileforge" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/roobscoob/fileforge
[INFO] finished tweaking git repo https://github.com/roobscoob/fileforge
[INFO] tweaked toml for git repo https://github.com/roobscoob/fileforge written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/roobscoob/fileforge on toolchain a3a874232ae0a7586b5fbe7483c5a42e157bd62a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/roobscoob/fileforge already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded phf v0.12.1
[INFO] [stderr]   Downloaded phf_generator v0.12.1
[INFO] [stderr]   Downloaded bitfield-struct v0.12.1
[INFO] [stderr]   Downloaded yaz0 v0.3.0
[INFO] [stderr]   Downloaded phf_macros v0.12.1
[INFO] [stderr]   Downloaded heapless v0.9.1
[INFO] [stderr]   Downloaded intx v0.1.0
[INFO] [stderr]   Downloaded phf_shared v0.12.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 308c036351fdd8ec14b1c5048413c5d4d36adc9aabf0e8adfc29600733b53dc6
[INFO] running `Command { std: "docker" "start" "-a" "308c036351fdd8ec14b1c5048413c5d4d36adc9aabf0e8adfc29600733b53dc6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "308c036351fdd8ec14b1c5048413c5d4d36adc9aabf0e8adfc29600733b53dc6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "308c036351fdd8ec14b1c5048413c5d4d36adc9aabf0e8adfc29600733b53dc6", kill_on_drop: false }`
[INFO] [stdout] 308c036351fdd8ec14b1c5048413c5d4d36adc9aabf0e8adfc29600733b53dc6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 45a58c3dcedab59915cf9a0e856863298a09445933b79006b319f3b798e65317
[INFO] running `Command { std: "docker" "start" "-a" "45a58c3dcedab59915cf9a0e856863298a09445933b79006b319f3b798e65317", kill_on_drop: false }`
[INFO] [stderr]    Compiling heapless v0.9.1
[INFO] [stderr]     Checking inventory v0.3.21
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]     Checking intx v0.1.0
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]     Checking hash32 v0.3.1
[INFO] [stderr]    Compiling phf_shared v0.12.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking proc-macro2 v1.0.103
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]    Compiling phf_generator v0.12.1
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking fileforge-macros v0.1.0 (/opt/rustwide/workdir/fileforge-macros)
[INFO] [stderr]    Compiling bitfield-struct v0.12.1
[INFO] [stderr]    Compiling phf_macros v0.12.1
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking phf v0.12.1
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking fileforge v0.1.5 (/opt/rustwide/workdir/fileforge)
[INFO] [stdout] warning: unused import: `NoneArgument`
[INFO] [stdout]  --> fileforge/src/binary_reader/readable/builtins/array.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 |   binary_reader::readable::{NoneArgument, Readable},
[INFO] [stdout]   |                             ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collectable::Collectable`
[INFO] [stdout]  --> fileforge/src/stream/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use collectable::Collectable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking yaz0 v0.3.0
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/array.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/array.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     callback: impl for<'tag, 'b> FnOnce(crate::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/contiugous/mod.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/contiugous/mod.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     callback: impl for<'tag, 'b> FnOnce(crate::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> fileforge/src/diagnostic/pool/dynamic/mod.rs:117:26
[INFO] [stdout]     |
[INFO] [stdout] 117 |   fn was_built_by(&self, other: &dyn DiagnosticPoolBuilder) -> bool {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> fileforge/src/diagnostic/pool/fixed/mod.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |   fn was_built_by(&self, other: &dyn DiagnosticPoolBuilder) -> bool {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index` and `error` are never read
[INFO] [stdout]  --> fileforge/src/binary_reader/readable/builtins/array.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ArrayReadError<E: FileforgeError> {
[INFO] [stdout]   |            -------------- fields in this struct
[INFO] [stdout] 8 |   index: usize,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 9 |   error: E,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stream` and `filter` are never read
[INFO] [stdout]  --> fileforge/src/stream/extensions/readable/filtered/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct FilteredStream<S: ReadableStream, Filter: for<'a> AsyncFn(&'a S::Type) -> bool> {
[INFO] [stdout]   |            -------------- fields in this struct
[INFO] [stdout] 4 |   pub(super) stream: S,
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 5 |   pub(super) filter: Filter,
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stream` and `mapper` are never read
[INFO] [stdout]  --> fileforge/src/stream/extensions/readable/mapped/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct MappedStream<S: ReadableStream, R, Mapper: AsyncFn(S::Type) -> R> {
[INFO] [stdout]   |            ------------ fields in this struct
[INFO] [stdout] 4 |   pub(super) stream: S,
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 5 |   pub(super) mapper: Mapper,
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fileforge-std v0.1.2 (/opt/rustwide/workdir/fileforge-std)
[INFO] [stderr]     Checking fileforge-nintendo v0.1.3 (/opt/rustwide/workdir/fileforge-nintendo)
[INFO] [stdout] warning: unused import: `core::convert::Infallible`
[INFO] [stdout]  --> fileforge-nintendo/src/byml/readable.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::convert::Infallible;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ops::Sub`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/sarc/header/readable.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::ops::Sub;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sfat::SfatTable`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:19:45
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::sead::sarc::{header::SarcHeader, sfat::SfatTable};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::convert::Infallible`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/sarc/readable.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::convert::Infallible;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BinaryReader`, `readable::IntoReadable`, and `stream::ReadableStream`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/sarc/readable.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 |   binary_reader::{readable::IntoReadable, BinaryReader},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 5 |   stream::ReadableStream,
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Sarc` and `header::SarcHeader`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/sarc/readable.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::sead::sarc::{header::SarcHeader, Sarc};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::Infallible`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/yaz0/readable.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::{convert::Infallible, future::Future};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:142:44
[INFO] [stdout]     |
[INFO] [stdout] 142 |       BymlNodeDiscriminants::BinaryData => BymlNode::BinaryData(todo!()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            unreachable call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:143:57
[INFO] [stdout]     |
[INFO] [stdout] 143 |       BymlNodeDiscriminants::BinaryDataWithParameter => BymlNode::BinaryDataWithParameter(todo!()),
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:144:39
[INFO] [stdout]     |
[INFO] [stdout] 144 |       BymlNodeDiscriminants::Array => BymlNode::Array(todo!()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:145:44
[INFO] [stdout]     |
[INFO] [stdout] 145 |       BymlNodeDiscriminants::Dictionary => BymlNode::Dictionary(todo!()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:151:49
[INFO] [stdout]     |
[INFO] [stdout] 151 |       BymlNodeDiscriminants::BinaryDataTable => BymlNode::BinaryDataTable(todo!()),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:152:43
[INFO] [stdout]     |
[INFO] [stdout] 152 |       BymlNodeDiscriminants::Integer64 => BymlNode::Integer64(todo!()),
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:153:51
[INFO] [stdout]     |
[INFO] [stdout] 153 |       BymlNodeDiscriminants::UnsignedInteger64 => BymlNode::UnsignedInteger64(todo!()),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:154:41
[INFO] [stdout]     |
[INFO] [stdout] 154 |       BymlNodeDiscriminants::Float64 => BymlNode::Float64(todo!()),
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:171:44
[INFO] [stdout]     |
[INFO] [stdout] 171 |       BymlNodeDiscriminants::BinaryData => BymlNode::BinaryData(todo!()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:172:57
[INFO] [stdout]     |
[INFO] [stdout] 172 |       BymlNodeDiscriminants::BinaryDataWithParameter => BymlNode::BinaryDataWithParameter(todo!()),
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:173:39
[INFO] [stdout]     |
[INFO] [stdout] 173 |       BymlNodeDiscriminants::Array => BymlNode::Array(todo!()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:174:44
[INFO] [stdout]     |
[INFO] [stdout] 174 |       BymlNodeDiscriminants::Dictionary => BymlNode::Dictionary(todo!()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:176:49
[INFO] [stdout]     |
[INFO] [stdout] 176 |       BymlNodeDiscriminants::BinaryDataTable => BymlNode::BinaryDataTable(todo!()),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:177:43
[INFO] [stdout]     |
[INFO] [stdout] 177 |       BymlNodeDiscriminants::Integer64 => BymlNode::Integer64(todo!()),
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:178:51
[INFO] [stdout]     |
[INFO] [stdout] 178 |       BymlNodeDiscriminants::UnsignedInteger64 => BymlNode::UnsignedInteger64(todo!()),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:179:41
[INFO] [stdout]     |
[INFO] [stdout] 179 |       BymlNodeDiscriminants::Float64 => BymlNode::Float64(todo!()),
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:28:3
[INFO] [stdout]    |
[INFO] [stdout] 28 |   async fn read(reader: &mut fileforge::binary_reader::BinaryReader<'pool, S>, _: Self::Argument) -> Result<Self, Self::Error> {
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: Primitive<_>` will fail
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:43:23
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let size = reader.get().await.map_err(|e| SarcHeaderReadError::Size(e))?;
[INFO] [stdout]    |                       ^^^
[INFO] [stdout]    = note: `#[deny(dependency_on_unit_never_type_fallback)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let size: () = reader.get().await.map_err(|e| SarcHeaderReadError::Size(e))?;
[INFO] [stdout]    |             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking clap v4.5.51
[INFO] [stderr]     Checking fileforge-cli v0.1.0 (/opt/rustwide/workdir/fileforge-cli)
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]  --> fileforge-cli/src/main.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |   if let Some(matches) = matches.subcommand_matches("npdm") {
[INFO] [stdout]   |               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]  --> fileforge-cli/src/main.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |   if let Some(matches) = matches.subcommand_matches("npdm") {
[INFO] [stdout]   |               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `slice::SliceIndex`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/yaz0/state/compress.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::{cmp::min, slice::SliceIndex};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let size = reader.get().await.map_err(|e| SarcHeaderReadError::Size(e))?;
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let version = ((version >> 8) as u8, (version & 0xFF) as u8);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfat_table_size`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:50:14
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let Some(sfat_table_size) = data_section_offset.checked_sub(header_length as u32) else {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfat_table_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/sfat/header/readable.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/sfat/header/readable.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/error/overwrite.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/error/overwrite.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/error/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/error/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/readable.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/readable.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_node` is never used
[INFO] [stdout]   --> fileforge-nintendo/src/byml/mod.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl<'pool, S: ReadableStream<Type = u8>> Byml<'pool, S> {
[INFO] [stdout]    | -------------------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |   async fn into_node(self, discriminant: BymlNodeDiscriminants, value: u32) -> Result<BymlNode<'pool, S>, BymlConstructionError<'poo...
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endianness` is never read
[INFO] [stdout]   --> fileforge-nintendo/src/byml/header/mod.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct BymlHeader {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 11 |   config: BymlHeaderConfig,
[INFO] [stdout] 12 |   endianness: Endianness,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BymlHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/bool/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlBoolNode {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 8 |   value: bool,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/float32/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlFloat32Node {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 8 |   value: f32,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/integer32/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlInteger32Node {
[INFO] [stdout]   |            ----------------- field in this struct
[INFO] [stdout] 8 |   value: i32,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `string_table_index` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/string/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlStringNode {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 8 |   string_table_index: u32,
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/unsigned_integer32/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlUnsignedInteger32Node {
[INFO] [stdout]   |            ------------------------- field in this struct
[INFO] [stdout] 8 |   value: u32,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hasher`, `header`, and `reader` are never read
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/sfat/mod.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SfatTable<'pool, UnderlyingStream: ReadableStream<Type = u8>> {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 11 |   hasher: SfntHasher,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 12 |   header: SfatHeader,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 13 |   reader: BinaryReader<'pool, UnderlyingStream>,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/state/mod.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 |   pub fn readback(&self) -> ReadbackReference<2> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |   pub fn readback(&self) -> ReadbackReference<'_, 2> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/store.rs:26:15
[INFO] [stdout]    |
[INFO] [stdout] 26 |   fn snapshot(&self) -> Option<&BinaryReaderSnapshot<R>>;
[INFO] [stdout]    |               ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |                ||
[INFO] [stdout]    |               |                |the same lifetime is hidden here
[INFO] [stdout]    |               |                the same lifetime is elided here
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 26 |   fn snapshot(&self) -> Option<&BinaryReaderSnapshot<'_, R>>;
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fileforge-nintendo` (lib) due to 2 previous errors; 53 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "45a58c3dcedab59915cf9a0e856863298a09445933b79006b319f3b798e65317", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "45a58c3dcedab59915cf9a0e856863298a09445933b79006b319f3b798e65317", kill_on_drop: false }`
[INFO] [stdout] 45a58c3dcedab59915cf9a0e856863298a09445933b79006b319f3b798e65317
