[INFO] cloning repository https://github.com/SoftDryzz/vaultic
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SoftDryzz/vaultic" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSoftDryzz%2Fvaultic", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSoftDryzz%2Fvaultic'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c61a6e40a717a27304baa7ace62e8e762515c677
[INFO] testing SoftDryzz/vaultic against beta-2026-04-21 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSoftDryzz%2Fvaultic" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/SoftDryzz/vaultic
[INFO] finished tweaking git repo https://github.com/SoftDryzz/vaultic
[INFO] tweaked toml for git repo https://github.com/SoftDryzz/vaultic written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/SoftDryzz/vaultic on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/SoftDryzz/vaultic 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f603a2326685f0848966992e74dd3039ba67bceb41387ce282faff2ea8dbb710
[INFO] running `Command { std: "docker" "start" "-a" "f603a2326685f0848966992e74dd3039ba67bceb41387ce282faff2ea8dbb710", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f603a2326685f0848966992e74dd3039ba67bceb41387ce282faff2ea8dbb710", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f603a2326685f0848966992e74dd3039ba67bceb41387ce282faff2ea8dbb710", kill_on_drop: false }`
[INFO] [stdout] f603a2326685f0848966992e74dd3039ba67bceb41387ce282faff2ea8dbb710
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 33251f2c78f89f7d692e6a50f4692085d5837ad1503b85414026ce7b9e7c7d36
[INFO] running `Command { std: "docker" "start" "-a" "33251f2c78f89f7d692e6a50f4692085d5837ad1503b85414026ce7b9e7c7d36", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling self_cell v1.2.2
[INFO] [stderr]    Compiling type-map v0.5.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling self_cell v0.10.3
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling rust-embed-utils v8.11.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling syn v2.0.116
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling io_tee v0.1.1
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling arc-swap v1.8.2
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling bech32 v0.9.1
[INFO] [stderr]    Compiling clap_builder v4.5.59
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling minisign-verify v0.2.4
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]    Compiling self-replace v1.5.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling rust-embed-impl v8.11.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling rust-embed v8.11.0
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling salsa20 v0.10.2
[INFO] [stderr]    Compiling scrypt v0.11.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling fluent-syntax v0.11.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling clap v4.5.59
[INFO] [stderr]    Compiling x25519-dalek v2.0.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling unic-langid-impl v0.9.6
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling basic-toml v0.1.10
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling unic-langid v0.9.6
[INFO] [stderr]    Compiling fluent-langneg v0.13.1
[INFO] [stderr]    Compiling intl_pluralrules v7.0.2
[INFO] [stderr]    Compiling intl-memoizer v0.5.3
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling fluent-bundle v0.15.3
[INFO] [stderr]    Compiling i18n-config v0.4.8
[INFO] [stderr]    Compiling fluent v0.16.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling find-crate v0.6.3
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling i18n-embed-impl v0.8.4
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling i18n-embed v0.15.4
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling cookie-factory v0.3.3
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling age-core v0.11.0
[INFO] [stderr]    Compiling i18n-embed-fl v0.9.4
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling age v0.11.2
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling vaultic v1.4.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 34s
[INFO] running `Command { std: "docker" "inspect" "33251f2c78f89f7d692e6a50f4692085d5837ad1503b85414026ce7b9e7c7d36", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "33251f2c78f89f7d692e6a50f4692085d5837ad1503b85414026ce7b9e7c7d36", kill_on_drop: false }`
[INFO] [stdout] 33251f2c78f89f7d692e6a50f4692085d5837ad1503b85414026ce7b9e7c7d36
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4b44e61fc048eeca6788a452bb3ec3c5b56fc64f046ac76c6c096b89cf8c1096
[INFO] running `Command { std: "docker" "start" "-a" "4b44e61fc048eeca6788a452bb3ec3c5b56fc64f046ac76c6c096b89cf8c1096", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling doc-comment v0.3.4
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling assert_cmd v2.1.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling vaultic v1.4.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling globwalk v0.9.1
[INFO] [stderr]    Compiling assert_fs v1.1.3
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 26.37s
[INFO] running `Command { std: "docker" "inspect" "4b44e61fc048eeca6788a452bb3ec3c5b56fc64f046ac76c6c096b89cf8c1096", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b44e61fc048eeca6788a452bb3ec3c5b56fc64f046ac76c6c096b89cf8c1096", kill_on_drop: false }`
[INFO] [stdout] 4b44e61fc048eeca6788a452bb3ec3c5b56fc64f046ac76c6c096b89cf8c1096
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b6bb9f7a0e627553d30c0a2c99bb75218baf03e1324aab4d39a949ccdde2b4a9
[INFO] running `Command { std: "docker" "start" "-a" "b6bb9f7a0e627553d30c0a2c99bb75218baf03e1324aab4d39a949ccdde2b4a9", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.54s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/vaultic-506889f0e116afc2)
[INFO] [stdout] 
[INFO] [stdout] running 154 tests
[INFO] [stdout] test adapters::audit::json_audit_logger::tests::filter_by_since ... ok
[INFO] [stdout] test adapters::audit::json_audit_logger::tests::log_and_query_round_trip ... ok
[INFO] [stdout] test adapters::audit::json_audit_logger::tests::filter_by_author_email ... ok
[INFO] [stdout] test adapters::audit::json_audit_logger::tests::multiple_entries_appended ... ok
[INFO] [stdout] test adapters::audit::json_audit_logger::tests::is_enabled_respects_config ... ok
[INFO] [stdout] test adapters::audit::json_audit_logger::tests::query_nonexistent_file_returns_empty ... ok
[INFO] [stdout] test adapters::audit::json_audit_logger::tests::is_enabled_defaults_to_true ... ok
[INFO] [stdout] test adapters::audit::json_audit_logger::tests::filter_by_author ... ok
[INFO] [stdout] test adapters::audit::json_audit_logger::tests::query_empty_log_returns_empty ... ok
[INFO] [stdout] test adapters::cipher::age_backend::tests::backend_name_is_age ... ok
[INFO] [stdout] test adapters::cipher::age_backend::tests::decrypt_corrupt_data_fails ... ok
[INFO] [stdout] test adapters::cipher::gpg_backend::tests::encrypt_no_recipients_fails ... ok
[INFO] [stdout] test adapters::cipher::gpg_backend::tests::gpg_backend_has_correct_name ... ok
[INFO] [stdout] test adapters::git::git_hook::tests::install_creates_hook ... ok
[INFO] [stdout] test adapters::key_stores::file_key_store::tests::add_and_list ... ok
[INFO] [stdout] test adapters::key_stores::file_key_store::tests::add_duplicate_fails ... ok
[INFO] [stdout] test adapters::git::git_hook::tests::install_creates_hooks_dir_if_missing ... ok
[INFO] [stdout] test adapters::cipher::age_backend::tests::generate_and_read_public_key ... ok
[INFO] [stdout] test adapters::git::git_hook::tests::uninstall_no_hook_fails ... ok
[INFO] [stdout] test adapters::git::git_hook::tests::uninstall_refuses_foreign_hook ... ok
[INFO] [stdout] test adapters::cipher::age_backend::tests::encrypt_no_recipients_fails ... ok
[INFO] [stdout] test adapters::git::git_hook::tests::uninstall_removes_vaultic_hook ... ok
[INFO] [stdout] test adapters::key_stores::file_key_store::tests::parse_line_skips_comments ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_double_quoted_value ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_empty_quoted_value ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_empty_key_fails ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_empty_value ... ok
[INFO] [stdout] test adapters::git::git_hook::tests::install_overwrites_vaultic_hook ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_invalid_line_fails ... ok
[INFO] [stdout] test adapters::key_stores::file_key_store::tests::remove_nonexistent_fails ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_mismatched_quotes_kept_as_is ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_export_prefix ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_simple_entries ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_single_quote_char_value ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_mixed_export_and_plain ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_spaces_around_key_and_value ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::round_trip_preserves_content ... ok
[INFO] [stdout] test adapters::key_stores::file_key_store::tests::remove_existing_key ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_preserves_comment_text ... ok
[INFO] [stdout] test adapters::cipher::age_backend::tests::from_key_data_encrypts_and_decrypts ... ok
[INFO] [stdout] test adapters::key_stores::file_key_store::tests::list_empty_file_returns_empty ... ok
[INFO] [stdout] test adapters::key_stores::file_key_store::tests::parse_line_with_label ... ok
[INFO] [stdout] test adapters::git::git_hook::tests::install_refuses_foreign_hook ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_value_with_equals ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::serialize_entries_only ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::supported_extensions ... ok
[INFO] [stdout] test adapters::updater::verifier::tests::sha256_hex_produces_correct_hash ... ok
[INFO] [stdout] test adapters::updater::verifier::tests::verify_sha256_fails_when_asset_missing ... ok
[INFO] [stdout] test adapters::updater::verifier::tests::verify_sha256_fails_with_wrong_hash ... ok
[INFO] [stdout] test cli::commands::audit_helpers::tests::compute_file_hash_nonexistent_returns_none ... ok
[INFO] [stdout] test cli::commands::diff::tests::truncate_empty_string ... ok
[INFO] [stdout] test cli::commands::audit_helpers::tests::compute_file_hash_returns_hex_string ... ok
[INFO] [stdout] test adapters::updater::verifier::tests::verify_sha256_passes_with_matching_hash ... ok
[INFO] [stdout] test cli::commands::diff::tests::truncate_max_len_zero ... ok
[INFO] [stdout] test cli::commands::diff::tests::truncate_short_string_unchanged ... ok
[INFO] [stdout] test cli::commands::diff::tests::truncate_unicode_safe ... ok
[INFO] [stdout] test cli::commands::keys::tests::validate_gpg_email ... ok
[INFO] [stdout] test cli::commands::keys::tests::validate_gpg_fingerprint ... ok
[INFO] [stdout] test cli::commands::keys::tests::validate_invalid_age_key ... ok
[INFO] [stdout] test cli::commands::diff::tests::truncate_exact_length_unchanged ... ok
[INFO] [stdout] test cli::commands::diff::tests::truncate_long_string ... ok
[INFO] [stdout] test adapters::key_stores::file_key_store::tests::add_with_label ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_comments_and_blanks ... ok
[INFO] [stdout] test cli::commands::keys::tests::validate_random_string_rejected ... ok
[INFO] [stdout] test cli::commands::keys::tests::validate_short_hex_rejected ... ok
[INFO] [stdout] test cli::commands::keys::tests::validate_valid_age_key ... ok
[INFO] [stdout] test cli::commands::status::tests::truncate_key_emoji_no_panic ... ok
[INFO] [stdout] test cli::commands::status::tests::truncate_key_exact_length_unchanged ... ok
[INFO] [stdout] test cli::commands::status::tests::truncate_key_long_ascii ... ok
[INFO] [stdout] test cli::context::tests::rejects_empty_env_name ... ok
[INFO] [stdout] test cli::context::tests::rejects_empty_filename ... ok
[INFO] [stdout] test cli::context::tests::rejects_hidden_files ... ok
[INFO] [stdout] test cli::context::tests::rejects_path_traversal ... ok
[INFO] [stdout] test cli::context::tests::rejects_path_in_filename ... ok
[INFO] [stdout] test cli::context::tests::valid_env_names ... ok
[INFO] [stdout] test cli::context::tests::rejects_special_characters ... ok
[INFO] [stdout] test core::models::update_info::tests::current_version_is_valid_semver ... ok
[INFO] [stdout] test cli::context::tests::valid_simple_filenames ... ok
[INFO] [stdout] test core::services::check_service::tests::detects_empty_values ... ok
[INFO] [stdout] test core::models::update_info::tests::update_check_cache_round_trip ... ok
[INFO] [stdout] test core::services::check_service::tests::mixed_issues ... ok
[INFO] [stdout] test core::models::update_info::tests::github_release_deserializes ... ok
[INFO] [stdout] test cli::commands::status::tests::truncate_key_short_string_unchanged ... ok
[INFO] [stdout] test core::models::update_info::tests::platform_asset_returns_value ... ok
[INFO] [stdout] test core::services::check_service::tests::detects_extra_variables ... ok
[INFO] [stdout] test core::services::check_service::tests::all_present_no_issues ... ok
[INFO] [stdout] test core::services::diff_service::tests::detects_added_keys ... ok
[INFO] [stdout] test core::services::check_service::tests::empty_local_reports_all_missing ... ok
[INFO] [stdout] test core::services::check_service::tests::detects_missing_variables ... ok
[INFO] [stdout] test core::services::check_service::tests::only_empty_values_is_not_ok ... ok
[INFO] [stdout] test core::services::check_service::tests::empty_template_reports_all_extra ... ok
[INFO] [stdout] test cli::commands::status::tests::truncate_key_non_ascii_no_panic ... ok
[INFO] [stdout] test core::services::check_service::tests::zero_issues_reports_ok ... ok
[INFO] [stdout] test core::services::diff_service::tests::detects_modified_values ... ok
[INFO] [stdout] test core::services::diff_service::tests::identical_files_produce_empty_diff ... ok
[INFO] [stdout] test core::services::diff_service::tests::detects_removed_keys ... ok
[INFO] [stdout] test core::services::diff_service::tests::empty_files_produce_empty_diff ... ok
[INFO] [stdout] test core::services::diff_service::tests::keys_are_case_sensitive ... ok
[INFO] [stdout] test core::services::diff_service::tests::mixed_changes ... ok
[INFO] [stdout] test core::services::diff_service::tests::preserves_file_names ... ok
[INFO] [stdout] test core::services::env_resolver::tests::merge_overlay_adds_new_keys ... ok
[INFO] [stdout] test core::services::env_resolver::tests::merge_overlay_overrides_base ... ok
[INFO] [stdout] test core::services::env_resolver::tests::build_chain_ordering ... ok
[INFO] [stdout] test core::services::env_resolver::tests::merge_preserves_base_comments ... ok
[INFO] [stdout] test core::services::env_resolver::tests::resolve_circular_inheritance_detected ... ok
[INFO] [stdout] test core::services::env_resolver::tests::resolve_missing_environment_fails ... ok
[INFO] [stdout] test core::services::env_resolver::tests::merge_empty_base ... ok
[INFO] [stdout] test core::services::env_resolver::tests::merge_empty_overlay ... ok
[INFO] [stdout] test core::services::env_resolver::tests::resolve_single_level_inheritance ... ok
[INFO] [stdout] test core::services::secret_age_service::tests::empty_log_returns_empty ... ok
[INFO] [stdout] test core::services::env_resolver::tests::resolve_multi_level_inheritance ... ok
[INFO] [stdout] test core::services::template_resolver::tests::auto_discover_fails_in_empty_dir ... ok
[INFO] [stdout] test core::services::template_resolver::tests::auto_discover_finds_env_example_as_fallback ... ok
[INFO] [stdout] test core::services::env_resolver::tests::resolve_no_inheritance ... ok
[INFO] [stdout] test core::services::secret_age_service::tests::exceeds_policy_flagged ... ok
[INFO] [stdout] test core::services::secret_age_service::tests::most_recent_entry_used ... ok
[INFO] [stdout] test core::services::env_resolver::tests::resolve_missing_parent_fails ... ok
[INFO] [stdout] test core::services::secret_age_service::tests::multiple_envs_tracked_independently ... ok
[INFO] [stdout] test core::services::secret_age_service::tests::non_encrypt_entries_ignored ... ok
[INFO] [stdout] test core::services::secret_age_service::tests::env_name_extraction ... ok
[INFO] [stdout] test core::services::secret_age_service::tests::within_policy_does_not_exceed ... ok
[INFO] [stdout] test core::services::template_sync_service::tests::merge_duplicate_keys_not_doubled ... ok
[INFO] [stdout] test core::services::template_resolver::tests::template_candidates_have_correct_priority ... ok
[INFO] [stdout] test core::services::template_sync_service::tests::merge_preserves_first_key_order ... ok
[INFO] [stdout] test core::services::template_sync_service::tests::merge_single_file_strips_values ... ok
[INFO] [stdout] test core::services::validation_service::tests::non_integer_fails ... ok
[INFO] [stdout] test core::services::validation_service::tests::integer_below_min_fails ... ok
[INFO] [stdout] test core::services::template_resolver::tests::auto_discover_finds_env_template ... ok
[INFO] [stdout] test core::services::validation_service::tests::invalid_regex_returns_error ... ok
[INFO] [stdout] test core::services::template_sync_service::tests::merge_union_all_keys ... ok
[INFO] [stdout] test core::services::validation_service::tests::integer_above_max_fails ... ok
[INFO] [stdout] test core::services::validation_service::tests::invalid_url_fails ... ok
[INFO] [stdout] test core::services::validation_service::tests::invalid_boolean_fails ... ok
[INFO] [stdout] test core::services::validation_service::tests::non_required_absent_key_skipped ... ok
[INFO] [stdout] test core::services::validation_service::tests::pattern_match_passes ... ok
[INFO] [stdout] test core::services::template_sync_service::tests::merge_empty_input_returns_empty ... ok
[INFO] [stdout] test core::services::validation_service::tests::pattern_no_match_fails ... ok
[INFO] [stdout] test adapters::parsers::dotenv_parser::tests::parse_single_quoted_value ... ok
[INFO] [stdout] test adapters::cipher::age_backend::tests::decrypt_wrong_key_fails ... ok
[INFO] [stdout] test core::services::validation_service::tests::required_empty_value_fails ... ok
[INFO] [stdout] test core::services::validation_service::tests::required_missing_key_fails ... ok
[INFO] [stdout] test core::services::validation_service::tests::string_above_max_length_fails ... ok
[INFO] [stdout] test core::services::validation_service::tests::valid_boolean_1_passes ... ok
[INFO] [stdout] test core::services::validation_service::tests::valid_boolean_false_passes ... ok
[INFO] [stdout] test adapters::cipher::age_backend::tests::encrypt_decrypt_round_trip ... ok
[INFO] [stdout] test core::services::validation_service::tests::valid_integer_passes ... ok
[INFO] [stdout] test core::services::validation_service::tests::valid_boolean_true_passes ... ok
[INFO] [stdout] test core::services::validation_service::tests::valid_url_passes ... ok
[INFO] [stdout] test core::services::validation_service::tests::multiple_failures_on_same_key ... ok
[INFO] [stdout] test core::services::validation_service::tests::string_below_min_length_fails ... ok
[INFO] [stdout] test core::services::validation_service::tests::valid_boolean_0_passes ... ok
[INFO] [stdout] test core::services::validation_service::tests::type_and_pattern_both_checked_value_passes_pattern_but_fails_min_length ... ok
[INFO] [stdout] test core::services::env_resolver::tests::resolve_missing_file_uses_empty ... ok
[INFO] [stdout] test adapters::cipher::age_backend::tests::encrypt_multiple_recipients ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 154 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/audit_hook_test.rs (/opt/rustwide/target/debug/deps/audit_hook_test-e1703a5d09c00d61)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test status_without_init_fails ... ok
[INFO] [stdout] test log_shows_entries ... ok
[INFO] [stdout] test init_creates_audit_entry ... ok
[INFO] [stdout] test log_without_init_fails ... ok
[INFO] [stdout] test status_shows_env_files ... ok
[INFO] [stdout] test hook_install_without_git_fails ... ok
[INFO] [stdout] test log_filter_author_no_match ... ok
[INFO] [stdout] test hook_install_refuses_foreign_hook ... ok
[INFO] [stdout] test status_shows_project_info ... ok
[INFO] [stdout] test log_last_limits_entries ... ok
[INFO] [stdout] test log_invalid_since_date_fails ... ok
[INFO] [stdout] test log_empty_no_entries ... ok
[INFO] [stdout] test encrypt_creates_audit_entry ... ok
[INFO] [stdout] test hook_install_and_uninstall ... ok
[INFO] [stdout] test decrypt_audit_includes_destination_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/check_diff_test.rs (/opt/rustwide/target/debug/deps/check_diff_test-43b6b4c191f54a47)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test diff_missing_file_fails ... ok
[INFO] [stdout] test check_empty_values ... ok
[INFO] [stdout] test check_missing_env_file_fails ... ok
[INFO] [stdout] test diff_identical_files ... ok
[INFO] [stdout] test check_missing_template_fails ... ok
[INFO] [stdout] test check_missing_variables ... ok
[INFO] [stdout] test diff_shows_changes ... ok
[INFO] [stdout] test check_extra_variables ... ok
[INFO] [stdout] test diff_requires_two_files ... ok
[INFO] [stdout] test diff_with_quoted_values ... ok
[INFO] [stdout] test diff_summary_counts ... ok
[INFO] [stdout] test check_with_comments_in_files ... ok
[INFO] [stdout] test check_all_present ... ok
[INFO] [stdout] test check_all_good_message ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ci_test.rs (/opt/rustwide/target/debug/deps/ci_test-225cf7e37a08cbb4)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test ci_export_without_init_fails ... ok
[INFO] [stdout] test ci_export_github_with_mask ... ok
[INFO] [stdout] test ci_export_invalid_format_fails ... ok
[INFO] [stdout] test ci_export_generic_format ... ok
[INFO] [stdout] test ci_export_mask_without_github_fails ... ok
[INFO] [stdout] test ci_export_github_format ... ok
[INFO] [stdout] test ci_export_gitlab_format ... ok
[INFO] [stdout] test ci_export_default_format_is_generic ... ok
[INFO] [stderr]      Running tests/encrypt_decrypt_test.rs (/opt/rustwide/target/debug/deps/encrypt_decrypt_test-162590b3568eaeed)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test encrypt_without_init_fails ... ok
[INFO] [stdout] test keys_add_with_label_shows_in_list ... ok
[INFO] [stdout] test init_creates_vaultic_directory ... ok
[INFO] [stdout] test decrypt_missing_file_fails ... ok
[INFO] [stdout] test unknown_cipher_fails ... ok
[INFO] [stdout] test encrypt_no_recipients_fails ... ok
[INFO] [stdout] test keys_add_and_list ... ok
[INFO] [stdout] test keys_list_empty ... ok
[INFO] [stdout] test keys_add_duplicate_fails ... ok
[INFO] [stdout] test encrypt_with_env_flag ... ok
[INFO] [stdout] test decrypt_with_short_output_flag ... ok
[INFO] [stdout] test decrypt_with_output_flag_writes_to_custom_path ... ok
[INFO] [stdout] test keys_remove ... ok
[INFO] [stderr]      Running tests/resolve_test.rs (/opt/rustwide/target/debug/deps/resolve_test-b85e8fb2afac7c4f)
[INFO] [stdout] test init_twice_fails ... ok
[INFO] [stdout] test full_encrypt_decrypt_round_trip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test resolve_without_init_fails ... ok
[INFO] [stdout] test resolve_with_output_flag_writes_to_custom_path ... ok
[INFO] [stdout] test resolve_unknown_env_fails ... ok
[INFO] [stdout] test resolve_base_only_works ... ok
[INFO] [stdout] test resolve_with_short_output_flag ... ok
[INFO] [stdout] test diff_env_shows_differences ... ok
[INFO] [stdout] test resolve_merges_base_and_dev ... ok
[INFO] [stderr]      Running tests/stdout_test.rs (/opt/rustwide/target/debug/deps/stdout_test-46d02412e40bafce)
[INFO] [stdout] test diff_env_identical_shows_no_differences ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test stdout_and_output_are_mutually_exclusive ... ok
[INFO] [stdout] test decrypt_stdout_suppresses_ui_output ... ok
[INFO] [stdout] test resolve_stdout_suppresses_ui_output ... ok
[INFO] [stdout] test resolve_stdout_prints_merged_env ... ok
[INFO] [stdout] test decrypt_stdout_prints_env_to_stdout ... ok
[INFO] [stdout] test resolve_stdout_and_output_are_mutually_exclusive ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/template_sync_test.rs (/opt/rustwide/target/debug/deps/template_sync_test-2db77fc7857d6970)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test template_sync_help_shows_output ... ok
[INFO] [stdout] test template_sync_fails_when_no_enc_files ... ok
[INFO] [stdout] test template_sync_fails_without_vaultic_dir ... ok
[INFO] [stdout] test template_sync_full_flow ... ok
[INFO] [stdout] test template_sync_output_flag_writes_to_custom_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/template_test.rs (/opt/rustwide/target/debug/deps/template_test-955aa846bdd6174d)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test update_help_shows_description ... ok
[INFO] [stdout] test check_discovers_env_template ... ok
[INFO] [stdout] test init_includes_format_version ... ok
[INFO] [stdout] test check_no_template_found_fails ... ok
[INFO] [stdout] test check_prefers_env_template_over_env_example ... ok
[INFO] [stdout] test check_discovers_env_sample_as_fallback ... ok
[INFO] [stdout] test check_discovers_env_example_as_fallback ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/validate_test.rs (/opt/rustwide/target/debug/deps/validate_test-5d292e6448d8e7ad)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test validate_fails_on_required_missing ... ok
[INFO] [stdout] test validate_fails_on_invalid_type ... ok
[INFO] [stdout] test validate_fails_on_pattern_mismatch ... ok
[INFO] [stdout] test validate_fails_without_env_file ... ok
[INFO] [stdout] test validate_all_pass ... ok
[INFO] [stdout] test validate_exit_code_nonzero_on_failure ... ok
[INFO] [stdout] test validate_exit_code_zero_on_all_pass ... ok
[INFO] [stdout] test validate_warns_when_no_rules ... ok
[INFO] [stdout] test validate_custom_file_flag ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b6bb9f7a0e627553d30c0a2c99bb75218baf03e1324aab4d39a949ccdde2b4a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b6bb9f7a0e627553d30c0a2c99bb75218baf03e1324aab4d39a949ccdde2b4a9", kill_on_drop: false }`
[INFO] [stdout] b6bb9f7a0e627553d30c0a2c99bb75218baf03e1324aab4d39a949ccdde2b4a9
