From 00789e8d3e9d4cf9a06957903389dad785c0e6bd Mon Sep 17 00:00:00 2001 From: bwireman Date: Fri, 5 Jun 2026 19:48:31 -0500 Subject: [PATCH 01/18] outdated is outdated --- README.md | 9 +++++---- src/go_over.gleam | 39 +++++++++++++++++++++++++++------------ src/go_over/config.gleam | 2 +- src/go_over/hex/hex.gleam | 35 ++--------------------------------- src/go_over/sources.gleam | 21 ++++++--------------- test/sources_test.gleam | 29 ++--------------------------- 6 files changed, 43 insertions(+), 92 deletions(-) diff --git a/README.md b/README.md index 21e9949..22c4f97 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,8 @@ gleam run -m go_over - `--puller` Specify the tool used to reach out to hex.pm, [native, curl, wget, httpie] (default: None) - `--force`: Force pulling new data even if the cached data is still valid -- `--outdated`: Additionally check if newer versions of dependencies exist +- `--outdated`: **[deprecated]** runs `gleam deps outdated` instead — use that + command directly - `--ignore-indirect`: Ignore all warnings for indirect dependencies - `--verbose`: Print progress as packages are checked - `--help,-h`: Print help @@ -80,9 +81,9 @@ global = true # sets output format for warnings ["minimal", "detailed", "json"] # default: "minimal" format = "minimal" -# will additionally check if newer versions of dependencies exist -# default: true -outdated = true +# [deprecated] runs `gleam deps outdated` — use that command directly instead +# default: false +outdated = false # tool used to pull information from hex.pm ["native", "curl", "wget", "httpie"] # default: "curl" for JS and "native" for Erlang puller = "curl" diff --git a/src/go_over.gleam b/src/go_over.gleam index 52b44ca..521a430 100644 --- a/src/go_over.gleam +++ b/src/go_over.gleam @@ -99,18 +99,11 @@ pub fn main() { let hex_warnings = gfunction.iff( - conf.outdated || !list.is_empty(conf.allowed_licenses), + !list.is_empty(conf.allowed_licenses), fn() { - let msg = case conf.outdated, !list.is_empty(conf.allowed_licenses) { - True, True -> "outdated & licenses" - True, False -> "outdated" - False, True -> "licenses" - False, False -> util.do_panic() - } - spinner.set_text_spinner( spinner, - "Checking packages: " <> print.raw(msg, "brightmagenta"), + "Checking packages: " <> print.raw("licenses", "brightmagenta"), ) pkgs @@ -127,8 +120,30 @@ pub fn main() { |> config.filter_severity(conf, _) spinner.stop_spinner(spinner) - case warnings { - [] -> print.success("✅ No warnings found!") - vulns -> print_warnings(vulns, conf) + + let outdated_failed = case conf.outdated { + False -> False + True -> run_deps_outdated() + } + + case warnings, outdated_failed { + [], False -> print.success("✅ No warnings found!") + [], True -> shellout.exit(1) + vulns, _ -> print_warnings(vulns, conf) + } +} + +fn run_deps_outdated() -> Bool { + print.warning( + "The --outdated flag is deprecated. Use `gleam deps outdated` instead.", + ) + + case + shellout.command(run: "gleam", with: ["deps", "outdated"], in: ".", opt: [ + shellout.LetBeStdout, + ]) + { + Ok(_) -> False + Error(_) -> True } } diff --git a/src/go_over/config.gleam b/src/go_over/config.gleam index 51de754..55cb02c 100644 --- a/src/go_over/config.gleam +++ b/src/go_over/config.gleam @@ -312,7 +312,7 @@ pub fn spin_up(cfg: Config, argv: List(String)) -> Result(Config, String) { )) |> clip.flag(flag.help( flag.new("outdated"), - "Additionally check if newer versions of dependencies exist", + "[deprecated] Use `gleam deps outdated` to check for newer dependency versions", )) |> clip.flag(flag.help( flag.new("ignore-indirect"), diff --git a/src/go_over/hex/hex.gleam b/src/go_over/hex/hex.gleam index bccad9e..850122e 100644 --- a/src/go_over/hex/hex.gleam +++ b/src/go_over/hex/hex.gleam @@ -2,8 +2,6 @@ import gleam/dynamic/decode import gleam/json import gleam/list import gleam/option.{type Option} -import gleam/order -import gleamsver import go_over/hex/core import go_over/hex/puller import go_over/packages.{type Package} @@ -76,24 +74,8 @@ fn pull(puller: puller.Puller, pkg: Package) { ) } -fn check_outdated( - latest_version: String, - pkg: Package, - cached_file_name: String, -) { - let latest_semver = - gleamsver.parse(latest_version) - |> cli.hard_fail_with_msg("failed to parse: " <> cached_file_name) - - case gleamsver.compare(latest_semver, pkg.version) { - order.Gt -> option.Some(latest_version) - _ -> option.None - } -} - pub type HexWarningSource { RejectedLicense(name: String) - Outdated(new_version: String) } pub fn get_hex_info( @@ -102,20 +84,7 @@ pub fn get_hex_info( allowed_licenses: List(String), ) { let info = pull(puller, pkg) - let cached_file_name = core.hex_info_filename(pkg) - - let outdated = - info.latest_stable_version - |> option.map(check_outdated(_, pkg, cached_file_name)) - |> option.flatten() - |> option.map(Outdated) - let rejected_licenses = - glist.reject_contains(info.licenses, allowed_licenses) - |> list.map(RejectedLicense) - - case outdated { - option.None -> rejected_licenses - option.Some(outdated) -> [outdated, ..rejected_licenses] - } + glist.reject_contains(info.licenses, allowed_licenses) + |> list.map(RejectedLicense) } diff --git a/src/go_over/sources.gleam b/src/go_over/sources.gleam index 4af3af6..6c3efb0 100644 --- a/src/go_over/sources.gleam +++ b/src/go_over/sources.gleam @@ -1,5 +1,5 @@ import gleam/list -import gleam/option.{None, Some} +import gleam/option import gleam/pair import go_over/advisories/advisories import go_over/config.{type Config} @@ -34,24 +34,15 @@ pub fn get_retired_warnings( } pub fn get_hex_warnings(pkgs: List(Package), conf: Config) -> List(Warning) { - let check_licenses = !list.is_empty(conf.allowed_licenses) - let outdated = conf.outdated let allowed_licenses = conf.allowed_licenses list.flat_map(pkgs, fn(pkg) { - let sources = hex.get_hex_info(conf.puller, pkg, allowed_licenses) - - list.map(sources, fn(source) { - case source, outdated, check_licenses { - hex.Outdated(new_version), True, _ -> - Some(warning.outdated_to_warning(pkg, new_version)) - - hex.RejectedLicense(name), _, True -> - Some(warning.rejected_license_to_warning(pkg, name)) - - _, _, _ -> None + hex.get_hex_info(conf.puller, pkg, allowed_licenses) + |> list.map(fn(source) { + case source { + hex.RejectedLicense(name) -> + warning.rejected_license_to_warning(pkg, name) } }) }) - |> option.values() } diff --git a/test/sources_test.gleam b/test/sources_test.gleam index f8a077a..1c325b3 100644 --- a/test/sources_test.gleam +++ b/test/sources_test.gleam @@ -5,13 +5,12 @@ import go_over/hex/puller.{Mock} import go_over/packages import go_over/sources import go_over/warning.{ - IndirectDep, Warning, WarningReasonOutdated, WarningReasonRejectedLicense, - WarningReasonRetired, + IndirectDep, Warning, WarningReasonRejectedLicense, WarningReasonRetired, } const conf = Config( dev_deps: [], - outdated: True, + outdated: False, ignore_indirect: False, force: True, format: Minimal, @@ -88,27 +87,3 @@ pub fn get_rejected_license_test() { ) == [] } - -pub fn get_outdated_test() { - assert sources.get_hex_warnings( - pkgs, - Config(..conf, puller: Mock("test/testdata/hex/outdated/outdated.json")), - ) - == [ - Warning( - None, - "name", - Some("1.1.1"), - "New Version: '1.2.3' exists", - WarningReasonOutdated, - warning.SeverityPackageOutdated, - IndirectDep, - ), - ] - - assert sources.get_hex_warnings( - pkgs, - Config(..conf, puller: Mock("test/testdata/hex/outdated/up_to_date.json")), - ) - == [] -} From dc1bc6fade6f791492aedbc0d705042f67b762b4 Mon Sep 17 00:00:00 2001 From: bwireman Date: Fri, 5 Jun 2026 19:57:12 -0500 Subject: [PATCH 02/18] cleanup birdie --- .github/workflows/ci.yml | 12 ++++++------ .github/workflows/deps.yml | 2 +- images/demo.tape | 2 +- scripts/target_test.sh | 2 +- scripts/update.sh | 2 +- src/go_over.gleam | 4 +--- ...s_test@test_testdata_advisories_all_yaml.accepted | 0 ...conf_test@test_testdata_gleam_basic_toml.accepted | 0 ...conf_test@test_testdata_gleam_empty_toml.accepted | 0 ...@conf_test@test_testdata_gleam_full_toml.accepted | 0 ...st@test_testdata_gleam_indirect_new_toml.accepted | 0 ...nf_test@test_testdata_gleam_partial_toml.accepted | 0 ...es@test_testdata_hex_empty_licenses_json.accepted | 0 ...and_licenses@test_testdata_hex_full_json.accepted | 0 ...ses@test_testdata_hex_multi_license_json.accepted | 0 ...censes@test_testdata_hex_no_license_json.accepted | 0 ..._licenses@test_testdata_hex_no_meta_json.accepted | 0 ...censes@test_testdata_hex_no_version_json.accepted | 0 ...nses@test_testdata_hex_version_null_json.accepted | 0 ...ifest_test@test_testdata_manifest_a_toml.accepted | 0 ...ifest_test@test_testdata_manifest_b_toml.accepted | 0 ...est_test@test_testdata_manifest_dos_toml.accepted | 0 ...t_test@test_testdata_manifest_empty_toml.accepted | 0 ...est_test@test_testdata_manifest_git_toml.accepted | 0 ...t_test@test_testdata_manifest_local_toml.accepted | 0 .../erlang@spin_up_test@empty.accepted | 0 .../erlang@spin_up_test@fake.accepted | 0 .../erlang@spin_up_test@force.accepted | 0 .../erlang@spin_up_test@format=detailed.accepted | 0 .../erlang@spin_up_test@format=json.accepted | 0 .../erlang@spin_up_test@format=minimal.accepted | 0 .../erlang@spin_up_test@ignore_indirect.accepted | 0 .../erlang@spin_up_test@outdated.accepted | 8 ++++---- .../erlang@spin_up_test@verbose.accepted | 0 .../erlang@warning@adv_to_warning.accepted | 0 .../erlang@warning@outdated_to_warning.accepted | 0 ...lang@warning@rejected_license_to_warning.accepted | 0 ...ng@warning@retired_to_warning_deprecated.accepted | 0 ...rning@retired_to_warning_deprecated_none.accepted | 0 ...rlang@warning@retired_to_warning_invalid.accepted | 0 ...@warning@retired_to_warning_invalid_none.accepted | 0 .../erlang@warning@retired_to_warning_other.accepted | 0 ...ng@warning@retired_to_warning_other_none.accepted | 0 ...rlang@warning@retired_to_warning_renamed.accepted | 0 ...@warning@retired_to_warning_renamed_none.accepted | 0 ...lang@warning@retired_to_warning_security.accepted | 0 ...warning@retired_to_warning_security_none.accepted | 0 ...ng@warning_format_as_json@adv_to_warning.accepted | 0 ...rning_format_as_json@outdated_to_warning.accepted | 0 ...rmat_as_json@rejected_license_to_warning.accepted | 0 ...at_as_json@retired_to_warning_deprecated.accepted | 0 ..._json@retired_to_warning_deprecated_none.accepted | 0 ...ormat_as_json@retired_to_warning_invalid.accepted | 0 ..._as_json@retired_to_warning_invalid_none.accepted | 0 ..._format_as_json@retired_to_warning_other.accepted | 0 ...at_as_json@retired_to_warning_other_none.accepted | 0 ...ormat_as_json@retired_to_warning_renamed.accepted | 0 ..._as_json@retired_to_warning_renamed_none.accepted | 0 ...rmat_as_json@retired_to_warning_security.accepted | 0 ...as_json@retired_to_warning_security_none.accepted | 0 ...@warning_format_as_string@adv_to_warning.accepted | 0 ...ing_format_as_string@outdated_to_warning.accepted | 0 ...at_as_string@rejected_license_to_warning.accepted | 0 ..._as_string@retired_to_warning_deprecated.accepted | 0 ...tring@retired_to_warning_deprecated_none.accepted | 0 ...mat_as_string@retired_to_warning_invalid.accepted | 0 ...s_string@retired_to_warning_invalid_none.accepted | 0 ...ormat_as_string@retired_to_warning_other.accepted | 0 ..._as_string@retired_to_warning_other_none.accepted | 0 ...mat_as_string@retired_to_warning_renamed.accepted | 0 ...s_string@retired_to_warning_renamed_none.accepted | 0 ...at_as_string@retired_to_warning_security.accepted | 0 ..._string@retired_to_warning_security_none.accepted | 0 ..._format_as_string_minimal@adv_to_warning.accepted | 0 ...at_as_string_minimal@outdated_to_warning.accepted | 0 ...ring_minimal@rejected_license_to_warning.accepted | 0 ...ng_minimal@retired_to_warning_deprecated.accepted | 0 ...nimal@retired_to_warning_deprecated_none.accepted | 0 ...tring_minimal@retired_to_warning_invalid.accepted | 0 ..._minimal@retired_to_warning_invalid_none.accepted | 0 ..._string_minimal@retired_to_warning_other.accepted | 0 ...ng_minimal@retired_to_warning_other_none.accepted | 0 ...tring_minimal@retired_to_warning_renamed.accepted | 0 ..._minimal@retired_to_warning_renamed_none.accepted | 0 ...ring_minimal@retired_to_warning_security.accepted | 0 ...minimal@retired_to_warning_security_none.accepted | 0 ...s_test@test_testdata_advisories_all_yaml.accepted | 0 ...conf_test@test_testdata_gleam_basic_toml.accepted | 0 ...conf_test@test_testdata_gleam_empty_toml.accepted | 0 ...@conf_test@test_testdata_gleam_full_toml.accepted | 0 ...st@test_testdata_gleam_indirect_new_toml.accepted | 0 ...nf_test@test_testdata_gleam_partial_toml.accepted | 0 ...es@test_testdata_hex_empty_licenses_json.accepted | 0 ...and_licenses@test_testdata_hex_full_json.accepted | 0 ...ses@test_testdata_hex_multi_license_json.accepted | 0 ...censes@test_testdata_hex_no_license_json.accepted | 0 ..._licenses@test_testdata_hex_no_meta_json.accepted | 0 ...censes@test_testdata_hex_no_version_json.accepted | 0 ...nses@test_testdata_hex_version_null_json.accepted | 0 ...ifest_test@test_testdata_manifest_a_toml.accepted | 0 ...ifest_test@test_testdata_manifest_b_toml.accepted | 0 ...est_test@test_testdata_manifest_dos_toml.accepted | 0 ...t_test@test_testdata_manifest_empty_toml.accepted | 0 ...est_test@test_testdata_manifest_git_toml.accepted | 0 ...t_test@test_testdata_manifest_local_toml.accepted | 0 .../javascript@spin_up_test@empty.accepted | 0 .../javascript@spin_up_test@fake.accepted | 0 .../javascript@spin_up_test@force.accepted | 0 .../javascript@spin_up_test@format=detailed.accepted | 0 .../javascript@spin_up_test@format=json.accepted | 0 .../javascript@spin_up_test@format=minimal.accepted | 0 .../javascript@spin_up_test@ignore_indirect.accepted | 0 .../javascript@spin_up_test@outdated.accepted | 8 ++++---- .../javascript@spin_up_test@verbose.accepted | 0 .../javascript@warning@adv_to_warning.accepted | 0 .../javascript@warning@outdated_to_warning.accepted | 0 ...ript@warning@rejected_license_to_warning.accepted | 0 ...pt@warning@retired_to_warning_deprecated.accepted | 0 ...rning@retired_to_warning_deprecated_none.accepted | 0 ...cript@warning@retired_to_warning_invalid.accepted | 0 ...@warning@retired_to_warning_invalid_none.accepted | 0 ...ascript@warning@retired_to_warning_other.accepted | 0 ...pt@warning@retired_to_warning_other_none.accepted | 0 ...cript@warning@retired_to_warning_renamed.accepted | 0 ...@warning@retired_to_warning_renamed_none.accepted | 0 ...ript@warning@retired_to_warning_security.accepted | 0 ...warning@retired_to_warning_security_none.accepted | 0 ...pt@warning_format_as_json@adv_to_warning.accepted | 0 ...rning_format_as_json@outdated_to_warning.accepted | 0 ...rmat_as_json@rejected_license_to_warning.accepted | 0 ...at_as_json@retired_to_warning_deprecated.accepted | 0 ..._json@retired_to_warning_deprecated_none.accepted | 0 ...ormat_as_json@retired_to_warning_invalid.accepted | 0 ..._as_json@retired_to_warning_invalid_none.accepted | 0 ..._format_as_json@retired_to_warning_other.accepted | 0 ...at_as_json@retired_to_warning_other_none.accepted | 0 ...ormat_as_json@retired_to_warning_renamed.accepted | 0 ..._as_json@retired_to_warning_renamed_none.accepted | 0 ...rmat_as_json@retired_to_warning_security.accepted | 0 ...as_json@retired_to_warning_security_none.accepted | 0 ...@warning_format_as_string@adv_to_warning.accepted | 0 ...ing_format_as_string@outdated_to_warning.accepted | 0 ...at_as_string@rejected_license_to_warning.accepted | 0 ..._as_string@retired_to_warning_deprecated.accepted | 0 ...tring@retired_to_warning_deprecated_none.accepted | 0 ...mat_as_string@retired_to_warning_invalid.accepted | 0 ...s_string@retired_to_warning_invalid_none.accepted | 0 ...ormat_as_string@retired_to_warning_other.accepted | 0 ..._as_string@retired_to_warning_other_none.accepted | 0 ...mat_as_string@retired_to_warning_renamed.accepted | 0 ...s_string@retired_to_warning_renamed_none.accepted | 0 ...at_as_string@retired_to_warning_security.accepted | 0 ..._string@retired_to_warning_security_none.accepted | 0 ..._format_as_string_minimal@adv_to_warning.accepted | 0 ...at_as_string_minimal@outdated_to_warning.accepted | 0 ...ring_minimal@rejected_license_to_warning.accepted | 0 ...ng_minimal@retired_to_warning_deprecated.accepted | 0 ...nimal@retired_to_warning_deprecated_none.accepted | 0 ...tring_minimal@retired_to_warning_invalid.accepted | 0 ..._minimal@retired_to_warning_invalid_none.accepted | 0 ..._string_minimal@retired_to_warning_other.accepted | 0 ...ng_minimal@retired_to_warning_other_none.accepted | 0 ...tring_minimal@retired_to_warning_renamed.accepted | 0 ..._minimal@retired_to_warning_renamed_none.accepted | 0 ...ring_minimal@retired_to_warning_security.accepted | 0 ...minimal@retired_to_warning_security_none.accepted | 0 test/config_test.gleam | 4 ++-- 167 files changed, 21 insertions(+), 23 deletions(-) rename {birdie_snapshots => test/birdie_snapshots}/erlang@advisories_test@test_testdata_advisories_all_yaml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@conf_test@test_testdata_gleam_basic_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@conf_test@test_testdata_gleam_empty_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@conf_test@test_testdata_gleam_full_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@conf_test@test_testdata_gleam_indirect_new_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@conf_test@test_testdata_gleam_partial_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@manifest_test@test_testdata_manifest_a_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@manifest_test@test_testdata_manifest_b_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@manifest_test@test_testdata_manifest_dos_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@manifest_test@test_testdata_manifest_empty_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@manifest_test@test_testdata_manifest_git_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@manifest_test@test_testdata_manifest_local_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@spin_up_test@empty.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@spin_up_test@fake.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@spin_up_test@force.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@spin_up_test@format=detailed.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@spin_up_test@format=json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@spin_up_test@format=minimal.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@spin_up_test@ignore_indirect.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@spin_up_test@outdated.accepted (80%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@spin_up_test@verbose.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning@adv_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning@outdated_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning@rejected_license_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning@retired_to_warning_deprecated.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning@retired_to_warning_deprecated_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning@retired_to_warning_invalid.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning@retired_to_warning_invalid_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning@retired_to_warning_other.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning@retired_to_warning_other_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning@retired_to_warning_renamed.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning@retired_to_warning_renamed_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning@retired_to_warning_security.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning@retired_to_warning_security_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_json@adv_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_json@outdated_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_json@rejected_license_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_json@retired_to_warning_deprecated.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_json@retired_to_warning_deprecated_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_json@retired_to_warning_invalid.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_json@retired_to_warning_invalid_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_json@retired_to_warning_other.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_json@retired_to_warning_other_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_json@retired_to_warning_renamed.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_json@retired_to_warning_renamed_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_json@retired_to_warning_security.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_json@retired_to_warning_security_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string@adv_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string@outdated_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string@rejected_license_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string@retired_to_warning_deprecated.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string@retired_to_warning_deprecated_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string@retired_to_warning_invalid.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string@retired_to_warning_invalid_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string@retired_to_warning_other.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string@retired_to_warning_other_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string@retired_to_warning_renamed.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string@retired_to_warning_renamed_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string@retired_to_warning_security.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string@retired_to_warning_security_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string_minimal@adv_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string_minimal@outdated_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string_minimal@rejected_license_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string_minimal@retired_to_warning_deprecated.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string_minimal@retired_to_warning_deprecated_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string_minimal@retired_to_warning_invalid.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string_minimal@retired_to_warning_invalid_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string_minimal@retired_to_warning_other.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string_minimal@retired_to_warning_other_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string_minimal@retired_to_warning_renamed.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string_minimal@retired_to_warning_renamed_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string_minimal@retired_to_warning_security.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/erlang@warning_format_as_string_minimal@retired_to_warning_security_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@advisories_test@test_testdata_advisories_all_yaml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@conf_test@test_testdata_gleam_basic_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@conf_test@test_testdata_gleam_empty_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@conf_test@test_testdata_gleam_full_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@conf_test@test_testdata_gleam_indirect_new_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@conf_test@test_testdata_gleam_partial_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@manifest_test@test_testdata_manifest_a_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@manifest_test@test_testdata_manifest_b_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@manifest_test@test_testdata_manifest_dos_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@manifest_test@test_testdata_manifest_empty_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@manifest_test@test_testdata_manifest_git_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@manifest_test@test_testdata_manifest_local_toml.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@spin_up_test@empty.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@spin_up_test@fake.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@spin_up_test@force.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@spin_up_test@format=detailed.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@spin_up_test@format=json.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@spin_up_test@format=minimal.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@spin_up_test@ignore_indirect.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@spin_up_test@outdated.accepted (86%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@spin_up_test@verbose.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning@adv_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning@outdated_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning@rejected_license_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning@retired_to_warning_deprecated.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning@retired_to_warning_deprecated_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning@retired_to_warning_invalid.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning@retired_to_warning_invalid_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning@retired_to_warning_other.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning@retired_to_warning_other_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning@retired_to_warning_renamed.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning@retired_to_warning_renamed_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning@retired_to_warning_security.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning@retired_to_warning_security_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_json@adv_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_json@outdated_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_json@rejected_license_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_json@retired_to_warning_deprecated.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_json@retired_to_warning_deprecated_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_json@retired_to_warning_invalid.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_json@retired_to_warning_invalid_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_json@retired_to_warning_other.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_json@retired_to_warning_other_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_json@retired_to_warning_renamed.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_json@retired_to_warning_renamed_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_json@retired_to_warning_security.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_json@retired_to_warning_security_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string@adv_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string@outdated_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string@rejected_license_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string@retired_to_warning_deprecated.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string@retired_to_warning_deprecated_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string@retired_to_warning_invalid.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string@retired_to_warning_invalid_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string@retired_to_warning_other.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string@retired_to_warning_other_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string@retired_to_warning_renamed.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string@retired_to_warning_renamed_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string@retired_to_warning_security.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string@retired_to_warning_security_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string_minimal@adv_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string_minimal@outdated_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string_minimal@rejected_license_to_warning.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string_minimal@retired_to_warning_deprecated.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string_minimal@retired_to_warning_deprecated_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string_minimal@retired_to_warning_invalid.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string_minimal@retired_to_warning_invalid_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string_minimal@retired_to_warning_other.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string_minimal@retired_to_warning_other_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string_minimal@retired_to_warning_renamed.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string_minimal@retired_to_warning_renamed_none.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string_minimal@retired_to_warning_security.accepted (100%) rename {birdie_snapshots => test/birdie_snapshots}/javascript@warning_format_as_string_minimal@retired_to_warning_security_none.accepted (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 913faf0..af03287 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ jobs: rebar3-version: ${{ env.rebar }} - run: gleam test --target erlang - run: gleam run --target erlang -- --local --puller wget - - run: gleam run --target erlang -- --local --outdated + - run: gleam run --target erlang -- --local windows-erlang: #todo swap to 25 when setup-beam is fixed @@ -59,7 +59,7 @@ jobs: otp-version: ${{ env.otp }} gleam-version: ${{ env.gleam }} rebar3-version: ${{ env.rebar }} - - run: gleam run --target erlang -- --local --outdated + - run: gleam run --target erlang -- --local windows-node: #todo swap to 25 when setup-beam is fixed @@ -80,7 +80,7 @@ jobs: node-version: ${{ env.nodelts }} cache: "npm" - run: npm install - - run: gleam run --target javascript --runtime nodejs -- --local --outdated --puller curl + - run: gleam run --target javascript --runtime nodejs -- --local --puller curl node: runs-on: ubuntu-latest @@ -106,7 +106,7 @@ jobs: cache: "npm" - run: npm install - run: gleam test --target javascript --runtime nodejs - - run: gleam run --target javascript --runtime nodejs -- --local --outdated --puller ${{ matrix.puller }} + - run: gleam run --target javascript --runtime nodejs -- --local --puller ${{ matrix.puller }} bun: runs-on: ubuntu-latest @@ -128,7 +128,7 @@ jobs: - run: bun install - run: gleam test --target javascript --runtime bun - run: gleam run --target javascript --runtime bun -- --local --puller wget - - run: gleam run --target javascript --runtime bun -- --local --outdated + - run: gleam run --target javascript --runtime bun -- --local deno: runs-on: ubuntu-latest @@ -150,4 +150,4 @@ jobs: - run: deno install - run: gleam test --target javascript --runtime deno - run: gleam run --target javascript --runtime deno -- --local --puller wget - - run: gleam run --target javascript --runtime deno -- --local --outdated + - run: gleam run --target javascript --runtime deno -- --local diff --git a/.github/workflows/deps.yml b/.github/workflows/deps.yml index 871cb31..7dd379f 100644 --- a/.github/workflows/deps.yml +++ b/.github/workflows/deps.yml @@ -31,7 +31,7 @@ jobs: gleam-version: ${{ env.gleam }} rebar3-version: ${{ env.rebar }} - run: gleam build - - run: gleam run -m go_over -- --outdated --local + - run: gleam run -m go_over -- --local # create an issue in the repo if there are # outdated or vulnerable dependencies - uses: jayqi/failed-build-issue-action@v1 diff --git a/images/demo.tape b/images/demo.tape index 1b93a07..c354315 100644 --- a/images/demo.tape +++ b/images/demo.tape @@ -24,7 +24,7 @@ Enter Type "# check for retired, vulnerable or outdated packages (and even filter their licenses)" Enter Sleep 5s -Type `gleam run -m go_over -- --outdated` +Type `gleam run -m go_over -- ` Enter Wait+Screen@50s /✅ No warnings found!/ Sleep 3.5s \ No newline at end of file diff --git a/scripts/target_test.sh b/scripts/target_test.sh index 744271b..cbbc25b 100755 --- a/scripts/target_test.sh +++ b/scripts/target_test.sh @@ -38,7 +38,7 @@ rm -rf .go-over/outdated snooze 15 # shellcheck disable=SC2086 -gleam run $CMD -- --outdated --puller wget --local +gleam run $CMD -- --puller wget --local # shellcheck disable=SC2086 gleam test $CMD diff --git a/scripts/update.sh b/scripts/update.sh index 0307295..0bd8515 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -4,5 +4,5 @@ set -e cd "$(dirname "$0")/.." gleam update -gleam run -- --outdated +gleam run -- npm upgrade --ignore-scripts \ No newline at end of file diff --git a/src/go_over.gleam b/src/go_over.gleam index 521a430..88d26b6 100644 --- a/src/go_over.gleam +++ b/src/go_over.gleam @@ -134,9 +134,7 @@ pub fn main() { } fn run_deps_outdated() -> Bool { - print.warning( - "The --outdated flag is deprecated. Use `gleam deps outdated` instead.", - ) + print.warning("The --outdated flag is deprecated. Use `gleam deps outdated` instead.") case shellout.command(run: "gleam", with: ["deps", "outdated"], in: ".", opt: [ diff --git a/birdie_snapshots/erlang@advisories_test@test_testdata_advisories_all_yaml.accepted b/test/birdie_snapshots/erlang@advisories_test@test_testdata_advisories_all_yaml.accepted similarity index 100% rename from birdie_snapshots/erlang@advisories_test@test_testdata_advisories_all_yaml.accepted rename to test/birdie_snapshots/erlang@advisories_test@test_testdata_advisories_all_yaml.accepted diff --git a/birdie_snapshots/erlang@conf_test@test_testdata_gleam_basic_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_basic_toml.accepted similarity index 100% rename from birdie_snapshots/erlang@conf_test@test_testdata_gleam_basic_toml.accepted rename to test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_basic_toml.accepted diff --git a/birdie_snapshots/erlang@conf_test@test_testdata_gleam_empty_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_empty_toml.accepted similarity index 100% rename from birdie_snapshots/erlang@conf_test@test_testdata_gleam_empty_toml.accepted rename to test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_empty_toml.accepted diff --git a/birdie_snapshots/erlang@conf_test@test_testdata_gleam_full_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_full_toml.accepted similarity index 100% rename from birdie_snapshots/erlang@conf_test@test_testdata_gleam_full_toml.accepted rename to test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_full_toml.accepted diff --git a/birdie_snapshots/erlang@conf_test@test_testdata_gleam_indirect_new_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_indirect_new_toml.accepted similarity index 100% rename from birdie_snapshots/erlang@conf_test@test_testdata_gleam_indirect_new_toml.accepted rename to test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_indirect_new_toml.accepted diff --git a/birdie_snapshots/erlang@conf_test@test_testdata_gleam_partial_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_partial_toml.accepted similarity index 100% rename from birdie_snapshots/erlang@conf_test@test_testdata_gleam_partial_toml.accepted rename to test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_partial_toml.accepted diff --git a/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted similarity index 100% rename from birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted rename to test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted diff --git a/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted similarity index 100% rename from birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted rename to test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted diff --git a/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted similarity index 100% rename from birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted rename to test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted diff --git a/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted similarity index 100% rename from birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted rename to test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted diff --git a/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted similarity index 100% rename from birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted rename to test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted diff --git a/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted similarity index 100% rename from birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted rename to test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted diff --git a/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted similarity index 100% rename from birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted rename to test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted diff --git a/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_a_toml.accepted b/test/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_a_toml.accepted similarity index 100% rename from birdie_snapshots/erlang@manifest_test@test_testdata_manifest_a_toml.accepted rename to test/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_a_toml.accepted diff --git a/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_b_toml.accepted b/test/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_b_toml.accepted similarity index 100% rename from birdie_snapshots/erlang@manifest_test@test_testdata_manifest_b_toml.accepted rename to test/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_b_toml.accepted diff --git a/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_dos_toml.accepted b/test/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_dos_toml.accepted similarity index 100% rename from birdie_snapshots/erlang@manifest_test@test_testdata_manifest_dos_toml.accepted rename to test/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_dos_toml.accepted diff --git a/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_empty_toml.accepted b/test/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_empty_toml.accepted similarity index 100% rename from birdie_snapshots/erlang@manifest_test@test_testdata_manifest_empty_toml.accepted rename to test/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_empty_toml.accepted diff --git a/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_git_toml.accepted b/test/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_git_toml.accepted similarity index 100% rename from birdie_snapshots/erlang@manifest_test@test_testdata_manifest_git_toml.accepted rename to test/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_git_toml.accepted diff --git a/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_local_toml.accepted b/test/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_local_toml.accepted similarity index 100% rename from birdie_snapshots/erlang@manifest_test@test_testdata_manifest_local_toml.accepted rename to test/birdie_snapshots/erlang@manifest_test@test_testdata_manifest_local_toml.accepted diff --git a/birdie_snapshots/erlang@spin_up_test@empty.accepted b/test/birdie_snapshots/erlang@spin_up_test@empty.accepted similarity index 100% rename from birdie_snapshots/erlang@spin_up_test@empty.accepted rename to test/birdie_snapshots/erlang@spin_up_test@empty.accepted diff --git a/birdie_snapshots/erlang@spin_up_test@fake.accepted b/test/birdie_snapshots/erlang@spin_up_test@fake.accepted similarity index 100% rename from birdie_snapshots/erlang@spin_up_test@fake.accepted rename to test/birdie_snapshots/erlang@spin_up_test@fake.accepted diff --git a/birdie_snapshots/erlang@spin_up_test@force.accepted b/test/birdie_snapshots/erlang@spin_up_test@force.accepted similarity index 100% rename from birdie_snapshots/erlang@spin_up_test@force.accepted rename to test/birdie_snapshots/erlang@spin_up_test@force.accepted diff --git a/birdie_snapshots/erlang@spin_up_test@format=detailed.accepted b/test/birdie_snapshots/erlang@spin_up_test@format=detailed.accepted similarity index 100% rename from birdie_snapshots/erlang@spin_up_test@format=detailed.accepted rename to test/birdie_snapshots/erlang@spin_up_test@format=detailed.accepted diff --git a/birdie_snapshots/erlang@spin_up_test@format=json.accepted b/test/birdie_snapshots/erlang@spin_up_test@format=json.accepted similarity index 100% rename from birdie_snapshots/erlang@spin_up_test@format=json.accepted rename to test/birdie_snapshots/erlang@spin_up_test@format=json.accepted diff --git a/birdie_snapshots/erlang@spin_up_test@format=minimal.accepted b/test/birdie_snapshots/erlang@spin_up_test@format=minimal.accepted similarity index 100% rename from birdie_snapshots/erlang@spin_up_test@format=minimal.accepted rename to test/birdie_snapshots/erlang@spin_up_test@format=minimal.accepted diff --git a/birdie_snapshots/erlang@spin_up_test@ignore_indirect.accepted b/test/birdie_snapshots/erlang@spin_up_test@ignore_indirect.accepted similarity index 100% rename from birdie_snapshots/erlang@spin_up_test@ignore_indirect.accepted rename to test/birdie_snapshots/erlang@spin_up_test@ignore_indirect.accepted diff --git a/birdie_snapshots/erlang@spin_up_test@outdated.accepted b/test/birdie_snapshots/erlang@spin_up_test@outdated.accepted similarity index 80% rename from birdie_snapshots/erlang@spin_up_test@outdated.accepted rename to test/birdie_snapshots/erlang@spin_up_test@outdated.accepted index a4ee155..60690c8 100644 --- a/birdie_snapshots/erlang@spin_up_test@outdated.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@outdated.accepted @@ -1,12 +1,12 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@spin_up_test@outdated --- #( - ["--outdated"], + [""], Config( [], - True, + False, False, False, Minimal, @@ -19,4 +19,4 @@ title: Erlang@spin_up_test@outdated [], False, ), -) \ No newline at end of file +) diff --git a/birdie_snapshots/erlang@spin_up_test@verbose.accepted b/test/birdie_snapshots/erlang@spin_up_test@verbose.accepted similarity index 100% rename from birdie_snapshots/erlang@spin_up_test@verbose.accepted rename to test/birdie_snapshots/erlang@spin_up_test@verbose.accepted diff --git a/birdie_snapshots/erlang@warning@adv_to_warning.accepted b/test/birdie_snapshots/erlang@warning@adv_to_warning.accepted similarity index 100% rename from birdie_snapshots/erlang@warning@adv_to_warning.accepted rename to test/birdie_snapshots/erlang@warning@adv_to_warning.accepted diff --git a/birdie_snapshots/erlang@warning@outdated_to_warning.accepted b/test/birdie_snapshots/erlang@warning@outdated_to_warning.accepted similarity index 100% rename from birdie_snapshots/erlang@warning@outdated_to_warning.accepted rename to test/birdie_snapshots/erlang@warning@outdated_to_warning.accepted diff --git a/birdie_snapshots/erlang@warning@rejected_license_to_warning.accepted b/test/birdie_snapshots/erlang@warning@rejected_license_to_warning.accepted similarity index 100% rename from birdie_snapshots/erlang@warning@rejected_license_to_warning.accepted rename to test/birdie_snapshots/erlang@warning@rejected_license_to_warning.accepted diff --git a/birdie_snapshots/erlang@warning@retired_to_warning_deprecated.accepted b/test/birdie_snapshots/erlang@warning@retired_to_warning_deprecated.accepted similarity index 100% rename from birdie_snapshots/erlang@warning@retired_to_warning_deprecated.accepted rename to test/birdie_snapshots/erlang@warning@retired_to_warning_deprecated.accepted diff --git a/birdie_snapshots/erlang@warning@retired_to_warning_deprecated_none.accepted b/test/birdie_snapshots/erlang@warning@retired_to_warning_deprecated_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning@retired_to_warning_deprecated_none.accepted rename to test/birdie_snapshots/erlang@warning@retired_to_warning_deprecated_none.accepted diff --git a/birdie_snapshots/erlang@warning@retired_to_warning_invalid.accepted b/test/birdie_snapshots/erlang@warning@retired_to_warning_invalid.accepted similarity index 100% rename from birdie_snapshots/erlang@warning@retired_to_warning_invalid.accepted rename to test/birdie_snapshots/erlang@warning@retired_to_warning_invalid.accepted diff --git a/birdie_snapshots/erlang@warning@retired_to_warning_invalid_none.accepted b/test/birdie_snapshots/erlang@warning@retired_to_warning_invalid_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning@retired_to_warning_invalid_none.accepted rename to test/birdie_snapshots/erlang@warning@retired_to_warning_invalid_none.accepted diff --git a/birdie_snapshots/erlang@warning@retired_to_warning_other.accepted b/test/birdie_snapshots/erlang@warning@retired_to_warning_other.accepted similarity index 100% rename from birdie_snapshots/erlang@warning@retired_to_warning_other.accepted rename to test/birdie_snapshots/erlang@warning@retired_to_warning_other.accepted diff --git a/birdie_snapshots/erlang@warning@retired_to_warning_other_none.accepted b/test/birdie_snapshots/erlang@warning@retired_to_warning_other_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning@retired_to_warning_other_none.accepted rename to test/birdie_snapshots/erlang@warning@retired_to_warning_other_none.accepted diff --git a/birdie_snapshots/erlang@warning@retired_to_warning_renamed.accepted b/test/birdie_snapshots/erlang@warning@retired_to_warning_renamed.accepted similarity index 100% rename from birdie_snapshots/erlang@warning@retired_to_warning_renamed.accepted rename to test/birdie_snapshots/erlang@warning@retired_to_warning_renamed.accepted diff --git a/birdie_snapshots/erlang@warning@retired_to_warning_renamed_none.accepted b/test/birdie_snapshots/erlang@warning@retired_to_warning_renamed_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning@retired_to_warning_renamed_none.accepted rename to test/birdie_snapshots/erlang@warning@retired_to_warning_renamed_none.accepted diff --git a/birdie_snapshots/erlang@warning@retired_to_warning_security.accepted b/test/birdie_snapshots/erlang@warning@retired_to_warning_security.accepted similarity index 100% rename from birdie_snapshots/erlang@warning@retired_to_warning_security.accepted rename to test/birdie_snapshots/erlang@warning@retired_to_warning_security.accepted diff --git a/birdie_snapshots/erlang@warning@retired_to_warning_security_none.accepted b/test/birdie_snapshots/erlang@warning@retired_to_warning_security_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning@retired_to_warning_security_none.accepted rename to test/birdie_snapshots/erlang@warning@retired_to_warning_security_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_json@adv_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@adv_to_warning.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_json@adv_to_warning.accepted rename to test/birdie_snapshots/erlang@warning_format_as_json@adv_to_warning.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_json@outdated_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@outdated_to_warning.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_json@outdated_to_warning.accepted rename to test/birdie_snapshots/erlang@warning_format_as_json@outdated_to_warning.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_json@rejected_license_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@rejected_license_to_warning.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_json@rejected_license_to_warning.accepted rename to test/birdie_snapshots/erlang@warning_format_as_json@rejected_license_to_warning.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_deprecated.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_deprecated.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_deprecated.accepted rename to test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_deprecated.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_deprecated_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_deprecated_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_deprecated_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_deprecated_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_invalid.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_invalid.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_invalid.accepted rename to test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_invalid.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_invalid_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_invalid_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_invalid_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_invalid_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_other.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_other.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_other.accepted rename to test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_other.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_other_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_other_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_other_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_other_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_renamed.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_renamed.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_renamed.accepted rename to test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_renamed.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_renamed_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_renamed_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_renamed_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_renamed_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_security.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_security.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_security.accepted rename to test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_security.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_security_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_security_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_security_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_json@retired_to_warning_security_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string@adv_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@adv_to_warning.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string@adv_to_warning.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string@adv_to_warning.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string@outdated_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@outdated_to_warning.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string@outdated_to_warning.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string@outdated_to_warning.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string@rejected_license_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@rejected_license_to_warning.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string@rejected_license_to_warning.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string@rejected_license_to_warning.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_deprecated.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_deprecated.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_deprecated.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_deprecated.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_deprecated_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_deprecated_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_deprecated_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_deprecated_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_invalid.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_invalid.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_invalid.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_invalid.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_invalid_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_invalid_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_invalid_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_invalid_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_renamed.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_renamed.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_renamed.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_renamed.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_renamed_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_renamed_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_renamed_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_renamed_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_security.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_security.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_security.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_security.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_security_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_security_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_security_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_security_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string_minimal@adv_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@adv_to_warning.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string_minimal@adv_to_warning.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string_minimal@adv_to_warning.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string_minimal@outdated_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@outdated_to_warning.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string_minimal@outdated_to_warning.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string_minimal@outdated_to_warning.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string_minimal@rejected_license_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@rejected_license_to_warning.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string_minimal@rejected_license_to_warning.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string_minimal@rejected_license_to_warning.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_deprecated.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_deprecated.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_deprecated.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_deprecated.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_deprecated_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_deprecated_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_deprecated_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_deprecated_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_invalid.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_invalid.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_invalid.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_invalid.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_invalid_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_invalid_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_invalid_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_invalid_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_renamed.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_renamed.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_renamed.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_renamed.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_renamed_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_renamed_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_renamed_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_renamed_none.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_security.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_security.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_security.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_security.accepted diff --git a/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_security_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_security_none.accepted similarity index 100% rename from birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_security_none.accepted rename to test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_security_none.accepted diff --git a/birdie_snapshots/javascript@advisories_test@test_testdata_advisories_all_yaml.accepted b/test/birdie_snapshots/javascript@advisories_test@test_testdata_advisories_all_yaml.accepted similarity index 100% rename from birdie_snapshots/javascript@advisories_test@test_testdata_advisories_all_yaml.accepted rename to test/birdie_snapshots/javascript@advisories_test@test_testdata_advisories_all_yaml.accepted diff --git a/birdie_snapshots/javascript@conf_test@test_testdata_gleam_basic_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_basic_toml.accepted similarity index 100% rename from birdie_snapshots/javascript@conf_test@test_testdata_gleam_basic_toml.accepted rename to test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_basic_toml.accepted diff --git a/birdie_snapshots/javascript@conf_test@test_testdata_gleam_empty_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_empty_toml.accepted similarity index 100% rename from birdie_snapshots/javascript@conf_test@test_testdata_gleam_empty_toml.accepted rename to test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_empty_toml.accepted diff --git a/birdie_snapshots/javascript@conf_test@test_testdata_gleam_full_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_full_toml.accepted similarity index 100% rename from birdie_snapshots/javascript@conf_test@test_testdata_gleam_full_toml.accepted rename to test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_full_toml.accepted diff --git a/birdie_snapshots/javascript@conf_test@test_testdata_gleam_indirect_new_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_indirect_new_toml.accepted similarity index 100% rename from birdie_snapshots/javascript@conf_test@test_testdata_gleam_indirect_new_toml.accepted rename to test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_indirect_new_toml.accepted diff --git a/birdie_snapshots/javascript@conf_test@test_testdata_gleam_partial_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_partial_toml.accepted similarity index 100% rename from birdie_snapshots/javascript@conf_test@test_testdata_gleam_partial_toml.accepted rename to test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_partial_toml.accepted diff --git a/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted similarity index 100% rename from birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted rename to test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted diff --git a/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted similarity index 100% rename from birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted rename to test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted diff --git a/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted similarity index 100% rename from birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted rename to test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted diff --git a/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted similarity index 100% rename from birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted rename to test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted diff --git a/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted similarity index 100% rename from birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted rename to test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted diff --git a/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted similarity index 100% rename from birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted rename to test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted diff --git a/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted similarity index 100% rename from birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted rename to test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted diff --git a/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_a_toml.accepted b/test/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_a_toml.accepted similarity index 100% rename from birdie_snapshots/javascript@manifest_test@test_testdata_manifest_a_toml.accepted rename to test/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_a_toml.accepted diff --git a/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_b_toml.accepted b/test/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_b_toml.accepted similarity index 100% rename from birdie_snapshots/javascript@manifest_test@test_testdata_manifest_b_toml.accepted rename to test/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_b_toml.accepted diff --git a/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_dos_toml.accepted b/test/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_dos_toml.accepted similarity index 100% rename from birdie_snapshots/javascript@manifest_test@test_testdata_manifest_dos_toml.accepted rename to test/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_dos_toml.accepted diff --git a/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_empty_toml.accepted b/test/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_empty_toml.accepted similarity index 100% rename from birdie_snapshots/javascript@manifest_test@test_testdata_manifest_empty_toml.accepted rename to test/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_empty_toml.accepted diff --git a/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_git_toml.accepted b/test/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_git_toml.accepted similarity index 100% rename from birdie_snapshots/javascript@manifest_test@test_testdata_manifest_git_toml.accepted rename to test/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_git_toml.accepted diff --git a/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_local_toml.accepted b/test/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_local_toml.accepted similarity index 100% rename from birdie_snapshots/javascript@manifest_test@test_testdata_manifest_local_toml.accepted rename to test/birdie_snapshots/javascript@manifest_test@test_testdata_manifest_local_toml.accepted diff --git a/birdie_snapshots/javascript@spin_up_test@empty.accepted b/test/birdie_snapshots/javascript@spin_up_test@empty.accepted similarity index 100% rename from birdie_snapshots/javascript@spin_up_test@empty.accepted rename to test/birdie_snapshots/javascript@spin_up_test@empty.accepted diff --git a/birdie_snapshots/javascript@spin_up_test@fake.accepted b/test/birdie_snapshots/javascript@spin_up_test@fake.accepted similarity index 100% rename from birdie_snapshots/javascript@spin_up_test@fake.accepted rename to test/birdie_snapshots/javascript@spin_up_test@fake.accepted diff --git a/birdie_snapshots/javascript@spin_up_test@force.accepted b/test/birdie_snapshots/javascript@spin_up_test@force.accepted similarity index 100% rename from birdie_snapshots/javascript@spin_up_test@force.accepted rename to test/birdie_snapshots/javascript@spin_up_test@force.accepted diff --git a/birdie_snapshots/javascript@spin_up_test@format=detailed.accepted b/test/birdie_snapshots/javascript@spin_up_test@format=detailed.accepted similarity index 100% rename from birdie_snapshots/javascript@spin_up_test@format=detailed.accepted rename to test/birdie_snapshots/javascript@spin_up_test@format=detailed.accepted diff --git a/birdie_snapshots/javascript@spin_up_test@format=json.accepted b/test/birdie_snapshots/javascript@spin_up_test@format=json.accepted similarity index 100% rename from birdie_snapshots/javascript@spin_up_test@format=json.accepted rename to test/birdie_snapshots/javascript@spin_up_test@format=json.accepted diff --git a/birdie_snapshots/javascript@spin_up_test@format=minimal.accepted b/test/birdie_snapshots/javascript@spin_up_test@format=minimal.accepted similarity index 100% rename from birdie_snapshots/javascript@spin_up_test@format=minimal.accepted rename to test/birdie_snapshots/javascript@spin_up_test@format=minimal.accepted diff --git a/birdie_snapshots/javascript@spin_up_test@ignore_indirect.accepted b/test/birdie_snapshots/javascript@spin_up_test@ignore_indirect.accepted similarity index 100% rename from birdie_snapshots/javascript@spin_up_test@ignore_indirect.accepted rename to test/birdie_snapshots/javascript@spin_up_test@ignore_indirect.accepted diff --git a/birdie_snapshots/javascript@spin_up_test@outdated.accepted b/test/birdie_snapshots/javascript@spin_up_test@outdated.accepted similarity index 86% rename from birdie_snapshots/javascript@spin_up_test@outdated.accepted rename to test/birdie_snapshots/javascript@spin_up_test@outdated.accepted index c18bd43..71086a1 100644 --- a/birdie_snapshots/javascript@spin_up_test@outdated.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@outdated.accepted @@ -1,12 +1,12 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@spin_up_test@outdated --- #( - ["--outdated"], + [""], Config( dev_deps: [], - outdated: True, + outdated: False, ignore_indirect: False, force: False, format: Minimal, @@ -19,4 +19,4 @@ title: Javascript@spin_up_test@outdated ignore_ids: [], ignore_dev_dependencies: False, ), -) \ No newline at end of file +) diff --git a/birdie_snapshots/javascript@spin_up_test@verbose.accepted b/test/birdie_snapshots/javascript@spin_up_test@verbose.accepted similarity index 100% rename from birdie_snapshots/javascript@spin_up_test@verbose.accepted rename to test/birdie_snapshots/javascript@spin_up_test@verbose.accepted diff --git a/birdie_snapshots/javascript@warning@adv_to_warning.accepted b/test/birdie_snapshots/javascript@warning@adv_to_warning.accepted similarity index 100% rename from birdie_snapshots/javascript@warning@adv_to_warning.accepted rename to test/birdie_snapshots/javascript@warning@adv_to_warning.accepted diff --git a/birdie_snapshots/javascript@warning@outdated_to_warning.accepted b/test/birdie_snapshots/javascript@warning@outdated_to_warning.accepted similarity index 100% rename from birdie_snapshots/javascript@warning@outdated_to_warning.accepted rename to test/birdie_snapshots/javascript@warning@outdated_to_warning.accepted diff --git a/birdie_snapshots/javascript@warning@rejected_license_to_warning.accepted b/test/birdie_snapshots/javascript@warning@rejected_license_to_warning.accepted similarity index 100% rename from birdie_snapshots/javascript@warning@rejected_license_to_warning.accepted rename to test/birdie_snapshots/javascript@warning@rejected_license_to_warning.accepted diff --git a/birdie_snapshots/javascript@warning@retired_to_warning_deprecated.accepted b/test/birdie_snapshots/javascript@warning@retired_to_warning_deprecated.accepted similarity index 100% rename from birdie_snapshots/javascript@warning@retired_to_warning_deprecated.accepted rename to test/birdie_snapshots/javascript@warning@retired_to_warning_deprecated.accepted diff --git a/birdie_snapshots/javascript@warning@retired_to_warning_deprecated_none.accepted b/test/birdie_snapshots/javascript@warning@retired_to_warning_deprecated_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning@retired_to_warning_deprecated_none.accepted rename to test/birdie_snapshots/javascript@warning@retired_to_warning_deprecated_none.accepted diff --git a/birdie_snapshots/javascript@warning@retired_to_warning_invalid.accepted b/test/birdie_snapshots/javascript@warning@retired_to_warning_invalid.accepted similarity index 100% rename from birdie_snapshots/javascript@warning@retired_to_warning_invalid.accepted rename to test/birdie_snapshots/javascript@warning@retired_to_warning_invalid.accepted diff --git a/birdie_snapshots/javascript@warning@retired_to_warning_invalid_none.accepted b/test/birdie_snapshots/javascript@warning@retired_to_warning_invalid_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning@retired_to_warning_invalid_none.accepted rename to test/birdie_snapshots/javascript@warning@retired_to_warning_invalid_none.accepted diff --git a/birdie_snapshots/javascript@warning@retired_to_warning_other.accepted b/test/birdie_snapshots/javascript@warning@retired_to_warning_other.accepted similarity index 100% rename from birdie_snapshots/javascript@warning@retired_to_warning_other.accepted rename to test/birdie_snapshots/javascript@warning@retired_to_warning_other.accepted diff --git a/birdie_snapshots/javascript@warning@retired_to_warning_other_none.accepted b/test/birdie_snapshots/javascript@warning@retired_to_warning_other_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning@retired_to_warning_other_none.accepted rename to test/birdie_snapshots/javascript@warning@retired_to_warning_other_none.accepted diff --git a/birdie_snapshots/javascript@warning@retired_to_warning_renamed.accepted b/test/birdie_snapshots/javascript@warning@retired_to_warning_renamed.accepted similarity index 100% rename from birdie_snapshots/javascript@warning@retired_to_warning_renamed.accepted rename to test/birdie_snapshots/javascript@warning@retired_to_warning_renamed.accepted diff --git a/birdie_snapshots/javascript@warning@retired_to_warning_renamed_none.accepted b/test/birdie_snapshots/javascript@warning@retired_to_warning_renamed_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning@retired_to_warning_renamed_none.accepted rename to test/birdie_snapshots/javascript@warning@retired_to_warning_renamed_none.accepted diff --git a/birdie_snapshots/javascript@warning@retired_to_warning_security.accepted b/test/birdie_snapshots/javascript@warning@retired_to_warning_security.accepted similarity index 100% rename from birdie_snapshots/javascript@warning@retired_to_warning_security.accepted rename to test/birdie_snapshots/javascript@warning@retired_to_warning_security.accepted diff --git a/birdie_snapshots/javascript@warning@retired_to_warning_security_none.accepted b/test/birdie_snapshots/javascript@warning@retired_to_warning_security_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning@retired_to_warning_security_none.accepted rename to test/birdie_snapshots/javascript@warning@retired_to_warning_security_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_json@adv_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@adv_to_warning.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_json@adv_to_warning.accepted rename to test/birdie_snapshots/javascript@warning_format_as_json@adv_to_warning.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_json@outdated_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@outdated_to_warning.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_json@outdated_to_warning.accepted rename to test/birdie_snapshots/javascript@warning_format_as_json@outdated_to_warning.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_json@rejected_license_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@rejected_license_to_warning.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_json@rejected_license_to_warning.accepted rename to test/birdie_snapshots/javascript@warning_format_as_json@rejected_license_to_warning.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_deprecated.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_deprecated.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_deprecated.accepted rename to test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_deprecated.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_deprecated_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_deprecated_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_deprecated_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_deprecated_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_invalid.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_invalid.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_invalid.accepted rename to test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_invalid.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_invalid_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_invalid_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_invalid_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_invalid_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_other.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_other.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_other.accepted rename to test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_other.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_other_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_other_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_other_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_other_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_renamed.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_renamed.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_renamed.accepted rename to test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_renamed.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_renamed_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_renamed_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_renamed_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_renamed_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_security.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_security.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_security.accepted rename to test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_security.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_security_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_security_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_security_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_json@retired_to_warning_security_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string@adv_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@adv_to_warning.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string@adv_to_warning.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string@adv_to_warning.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string@outdated_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@outdated_to_warning.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string@outdated_to_warning.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string@outdated_to_warning.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string@rejected_license_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@rejected_license_to_warning.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string@rejected_license_to_warning.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string@rejected_license_to_warning.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_deprecated.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_deprecated.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_deprecated.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_deprecated.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_deprecated_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_deprecated_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_deprecated_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_deprecated_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_invalid.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_invalid.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_invalid.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_invalid.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_invalid_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_invalid_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_invalid_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_invalid_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_renamed.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_renamed.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_renamed.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_renamed.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_renamed_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_renamed_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_renamed_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_renamed_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_security.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_security.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_security.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_security.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_security_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_security_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_security_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_security_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string_minimal@adv_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@adv_to_warning.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string_minimal@adv_to_warning.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string_minimal@adv_to_warning.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string_minimal@outdated_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@outdated_to_warning.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string_minimal@outdated_to_warning.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string_minimal@outdated_to_warning.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string_minimal@rejected_license_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@rejected_license_to_warning.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string_minimal@rejected_license_to_warning.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string_minimal@rejected_license_to_warning.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_deprecated.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_deprecated.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_deprecated.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_deprecated.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_deprecated_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_deprecated_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_deprecated_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_deprecated_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_invalid.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_invalid.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_invalid.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_invalid.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_invalid_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_invalid_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_invalid_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_invalid_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_renamed.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_renamed.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_renamed.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_renamed.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_renamed_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_renamed_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_renamed_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_renamed_none.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_security.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_security.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_security.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_security.accepted diff --git a/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_security_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_security_none.accepted similarity index 100% rename from birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_security_none.accepted rename to test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_security_none.accepted diff --git a/test/config_test.gleam b/test/config_test.gleam index 1bb4783..8234f77 100644 --- a/test/config_test.gleam +++ b/test/config_test.gleam @@ -189,8 +189,8 @@ pub fn spin_up_test() { let conf = test_spin_up("force", ["--force"]) assert conf.force - let conf = test_spin_up("outdated", ["--outdated"]) - assert conf.outdated + let conf = test_spin_up("outdated", [""]) + assert !conf.outdated let conf = test_spin_up("ignore_indirect", ["--ignore-indirect"]) assert conf.ignore_indirect From a31db73d79e47a4fdda85a3fb4baee7df2a140fa Mon Sep 17 00:00:00 2001 From: bwireman Date: Fri, 5 Jun 2026 20:09:31 -0500 Subject: [PATCH 03/18] unnecessary ignore --- src/go_over.gleam | 12 +- src/go_over/advisories/advisories.gleam | 12 +- src/go_over/config.gleam | 116 +++++++++++++++++- src/go_over/warning.gleam | 18 +++ ...ing@unnecessary_ignore_to_warning.accepted | 16 +++ ...son@unnecessary_ignore_to_warning.accepted | 18 +++ ...ing@unnecessary_ignore_to_warning.accepted | 15 +++ ...mal@unnecessary_ignore_to_warning.accepted | 9 ++ ...ing@unnecessary_ignore_to_warning.accepted | 16 +++ ...son@unnecessary_ignore_to_warning.accepted | 16 +++ ...ing@unnecessary_ignore_to_warning.accepted | 15 +++ ...mal@unnecessary_ignore_to_warning.accepted | 9 ++ test/config_test.gleam | 104 +++++++++++++++- test/warning_test.gleam | 15 +++ 14 files changed, 383 insertions(+), 8 deletions(-) create mode 100644 test/birdie_snapshots/erlang@warning@unnecessary_ignore_to_warning.accepted create mode 100644 test/birdie_snapshots/erlang@warning_format_as_json@unnecessary_ignore_to_warning.accepted create mode 100644 test/birdie_snapshots/erlang@warning_format_as_string@unnecessary_ignore_to_warning.accepted create mode 100644 test/birdie_snapshots/erlang@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted create mode 100644 test/birdie_snapshots/javascript@warning@unnecessary_ignore_to_warning.accepted create mode 100644 test/birdie_snapshots/javascript@warning_format_as_json@unnecessary_ignore_to_warning.accepted create mode 100644 test/birdie_snapshots/javascript@warning_format_as_string@unnecessary_ignore_to_warning.accepted create mode 100644 test/birdie_snapshots/javascript@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted diff --git a/src/go_over.gleam b/src/go_over.gleam index 88d26b6..9f5ad8c 100644 --- a/src/go_over.gleam +++ b/src/go_over.gleam @@ -76,8 +76,9 @@ pub fn main() { ) spinner.set_text_spinner(spinner, "Reading manifest") + let manifest_pkgs = packages.read_manifest("manifest.toml") let pkgs = - packages.read_manifest("manifest.toml") + manifest_pkgs |> config.filter_dev_dependencies(conf, _) |> config.filter_packages(conf, _) |> config.filter_indirect(conf, _) @@ -114,10 +115,17 @@ pub fn main() { ) spinner.set_text_spinner(spinner, "Filtering warnings") - let warnings = + let audit_warnings = list.append(retired_warnings, vulnerable_warnings) |> list.append(hex_warnings) + + let unnecessary_warnings = + config.unnecessary_ignore_warnings(conf, manifest_pkgs, audit_warnings) + + let warnings = + audit_warnings |> config.filter_severity(conf, _) + |> list.append(unnecessary_warnings) spinner.stop_spinner(spinner) diff --git a/src/go_over/advisories/advisories.gleam b/src/go_over/advisories/advisories.gleam index 3461d5a..182396b 100644 --- a/src/go_over/advisories/advisories.gleam +++ b/src/go_over/advisories/advisories.gleam @@ -125,9 +125,7 @@ fn delete_and_clone() -> Nil { |> list.each(simplifile.delete) } -pub fn check_for_advisories( - packages: List(packages.Package), -) -> List(#(Package, List(Advisory))) { +pub fn fetch_all() -> List(Advisory) { cache.pull_if_not_cached( advisories_path(), six_hours, @@ -135,7 +133,13 @@ pub fn check_for_advisories( constants.advisories_repo, ) - let advisories = read_all_adv() + read_all_adv() +} + +pub fn check_for_advisories( + packages: List(packages.Package), +) -> List(#(Package, List(Advisory))) { + let advisories = fetch_all() list.map(packages, fn(pkg) { case is_vulnerable(pkg, advisories) { diff --git a/src/go_over/config.gleam b/src/go_over/config.gleam index 55cb02c..2aca8f8 100644 --- a/src/go_over/config.gleam +++ b/src/go_over/config.gleam @@ -8,7 +8,7 @@ import gleam/list import gleam/option.{type Option, Some} import gleam/result import gleam/string -import go_over/advisories/advisories.{type Advisory} +import go_over/advisories/advisories.{type Advisory, fetch_all} import go_over/hex/puller import go_over/packages.{type Package} import go_over/util/constants @@ -180,6 +180,120 @@ pub fn filter_severity(conf: Config, warnings: List(Warning)) -> List(Warning) { ) } +pub fn unnecessary_ignore_warnings( + conf: Config, + manifest_pkgs: List(Package), + audit_warnings: List(Warning), +) -> List(Warning) { + let manifest_names = list.map(manifest_pkgs, fn(pkg) { pkg.name }) + let severities_present = + audit_warnings + |> list.map(fn(w) { string.lowercase(warning.severity_as_string(w.severity)) }) + + let package_warnings = + conf.ignore_packages + |> list.filter(fn(name) { !list.contains(manifest_names, name) }) + |> list.map(fn(name) { + warning.unnecessary_ignore_to_warning( + name, + "Unnecessary ignore: package '" + <> name + <> "' is not a dependency", + ) + }) + + let severity_warnings = + conf.ignore_severity + |> list.filter(fn(sev) { + !list.contains(severities_present, string.lowercase(sev)) + }) + |> list.map(fn(sev) { + warning.unnecessary_ignore_to_warning( + sev, + "Unnecessary ignore: severity '" + <> sev + <> "' did not match any warnings", + ) + }) + + let id_warnings = + unnecessary_ignore_id_warnings(conf, manifest_names, fetch_all()) + + let indirect_warnings = case conf.ignore_indirect { + False -> [] + True -> + case list.any(manifest_pkgs, fn(pkg) { !pkg.direct }) { + True -> [] + False -> [ + warning.unnecessary_ignore_to_warning( + "indirect", + "Unnecessary ignore: indirect=true has no effect (no indirect dependencies)", + ), + ] + } + } + + let dev_dep_warnings = case conf.ignore_dev_dependencies { + False -> [] + True -> + case conf.dev_deps { + [] -> [ + warning.unnecessary_ignore_to_warning( + "dev_dependencies", + "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies configured)", + ), + ] + dev_deps -> + case list.any(dev_deps, list.contains(manifest_names, _)) { + True -> [] + False -> [ + warning.unnecessary_ignore_to_warning( + "dev_dependencies", + "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies in manifest)", + ), + ] + } + } + } + + package_warnings + |> list.append(severity_warnings) + |> list.append(id_warnings) + |> list.append(indirect_warnings) + |> list.append(dev_dep_warnings) +} + +pub fn unnecessary_ignore_id_warnings( + conf: Config, + manifest_names: List(String), + all_advisories: List(Advisory), +) -> List(Warning) { + + conf.ignore_ids + |> list.flat_map(fn(id) { + case list.find(all_advisories, fn(a: Advisory) { a.id == id }) { + Error(_) -> [ + warning.unnecessary_ignore_to_warning( + id, + "Unnecessary ignore: advisory id '" <> id <> "' is unknown", + ), + ] + Ok(adv) -> + case list.contains(manifest_names, adv.name) { + True -> [] + False -> [ + warning.unnecessary_ignore_to_warning( + id, + "Unnecessary ignore: advisory id '" + <> id + <> "' does not apply to any dependency", + ), + ] + } + } + }) +} + pub fn parse_config_format(val: String) -> option.Option(Format) { case string.lowercase(val) { "json" -> option.Some(JSON) diff --git a/src/go_over/warning.gleam b/src/go_over/warning.gleam index 0a3d2cc..1c75a03 100644 --- a/src/go_over/warning.gleam +++ b/src/go_over/warning.gleam @@ -13,6 +13,7 @@ pub type WarningReasonCode { WarningReasonVulnerable WarningReasonOutdated WarningReasonRejectedLicense(name: String) + WarningReasonUnnecessaryIgnore } fn warning_reason_code_as_string(w: WarningReasonCode) -> String { @@ -21,6 +22,7 @@ fn warning_reason_code_as_string(w: WarningReasonCode) -> String { WarningReasonVulnerable -> "Vulnerable" WarningReasonOutdated -> "Outdated" WarningReasonRejectedLicense(name) -> "Rejected License (" <> name <> ")" + WarningReasonUnnecessaryIgnore -> "Unnecessary Ignore" } } @@ -36,6 +38,7 @@ pub type Severity { SeverityHigh SeverityLow SeverityModerate + SeverityUnnecessaryIgnore SeverityUnknown(info: String) } @@ -53,6 +56,7 @@ pub fn severity_as_string(s: Severity) -> String { SeverityHigh -> "high" SeverityLow -> "low" SeverityModerate -> "moderate" + SeverityUnnecessaryIgnore -> "unnecessary-ignore" SeverityUnknown(value) -> string.join(["unknown", string.lowercase(value)], "-") } @@ -71,6 +75,7 @@ pub fn string_to_severity(s: String) -> Severity { "high" -> SeverityHigh "low" -> SeverityLow "moderate" -> SeverityModerate + "unnecessary-ignore" -> SeverityUnnecessaryIgnore "unknown-" <> v -> SeverityUnknown(v) v -> SeverityUnknown(v) } @@ -169,6 +174,18 @@ pub fn rejected_license_to_warning(pkg: Package, license: String) -> Warning { ) } +pub fn unnecessary_ignore_to_warning(target: String, reason: String) -> Warning { + Warning( + None, + target, + None, + reason, + WarningReasonUnnecessaryIgnore, + SeverityUnnecessaryIgnore, + DirectDep, + ) +} + pub fn format_as_string(w: Warning) -> String { [ "ID: " <> option.unwrap(w.advisory_id, "null"), @@ -220,6 +237,7 @@ fn color(w: Warning, str: String) { | SeverityPackageRetiredDeprecated | SeverityPackageOutdated -> print.format_moderate(str) SeverityLow | SeverityPackageRetiredInvalid -> print.format_low(str) + SeverityUnnecessaryIgnore -> print.format_warning(str) SeverityUnknown(_) | SeverityPackageRetiredOtherReason(_) -> print.format_warning(str) } diff --git a/test/birdie_snapshots/erlang@warning@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/erlang@warning@unnecessary_ignore_to_warning.accepted new file mode 100644 index 0000000..3ca36ad --- /dev/null +++ b/test/birdie_snapshots/erlang@warning@unnecessary_ignore_to_warning.accepted @@ -0,0 +1,16 @@ +--- +version: 2.0.0 +title: Erlang@warning@unnecessary_ignore_to_warning +--- +#( + "missing-package", + Warning( + None, + "missing-package", + None, + "Unnecessary ignore: package 'missing-package' is not a dependency", + WarningReasonUnnecessaryIgnore, + SeverityUnnecessaryIgnore, + DirectDep, + ), +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_json@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@unnecessary_ignore_to_warning.accepted new file mode 100644 index 0000000..0599f2d --- /dev/null +++ b/test/birdie_snapshots/erlang@warning_format_as_json@unnecessary_ignore_to_warning.accepted @@ -0,0 +1,18 @@ +--- +version: 2.0.0 +title: Erlang@warning_format_as_json@unnecessary_ignore_to_warning +--- +#( + "missing-package", + " +{ +"id": null, +"package": "missing-package", +"version": null, +"warning_reason": "Unnecessary Ignore", +"dependency_type": "Direct", +"severity": "unnecessary-ignore", +"reason": "Unnecessary ignore: package 'missing-package' is not a dependency" +} +", +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@unnecessary_ignore_to_warning.accepted new file mode 100644 index 0000000..a7c96ac --- /dev/null +++ b/test/birdie_snapshots/erlang@warning_format_as_string@unnecessary_ignore_to_warning.accepted @@ -0,0 +1,15 @@ +--- +version: 2.0.0 +title: Erlang@warning_format_as_string@unnecessary_ignore_to_warning +--- +#( + "missing-package", + "ID: null +Package: missing-package +Version: null +WarningReason: Unnecessary Ignore +Dependency Type: Direct +Severity: unnecessary-ignore +Reason: Unnecessary ignore: package 'missing-package' is not a dependency +", +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted new file mode 100644 index 0000000..8264a48 --- /dev/null +++ b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted @@ -0,0 +1,9 @@ +--- +version: 2.0.0 +title: Erlang@warning_format_as_string_minimal@unnecessary_ignore_to_warning +--- +#( + "missing-package", + "missing-package: unnecessary-ignore +", +) diff --git a/test/birdie_snapshots/javascript@warning@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/javascript@warning@unnecessary_ignore_to_warning.accepted new file mode 100644 index 0000000..94119bc --- /dev/null +++ b/test/birdie_snapshots/javascript@warning@unnecessary_ignore_to_warning.accepted @@ -0,0 +1,16 @@ +--- +version: 2.0.0 +title: Javascript@warning@unnecessary_ignore_to_warning +--- +#( + "missing-package", + Warning( + advisory_id: None, + package: "missing-package", + version: None, + reason: "Unnecessary ignore: package 'missing-package' is not a dependency", + warning_reason_code: WarningReasonUnnecessaryIgnore, + severity: SeverityUnnecessaryIgnore, + dep: DirectDep, + ), +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_json@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@unnecessary_ignore_to_warning.accepted new file mode 100644 index 0000000..ed11be4 --- /dev/null +++ b/test/birdie_snapshots/javascript@warning_format_as_json@unnecessary_ignore_to_warning.accepted @@ -0,0 +1,16 @@ +--- +version: 2.0.0 +title: Javascript@warning_format_as_json@unnecessary_ignore_to_warning +--- +#( + "missing-package", + "{ + "id": null, + "package": "missing-package", + "version": null, + "warning_reason": "Unnecessary Ignore", + "dependency_type": "Direct", + "severity": "unnecessary-ignore", + "reason": "Unnecessary ignore: package 'missing-package' is not a dependency" +}", +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@unnecessary_ignore_to_warning.accepted new file mode 100644 index 0000000..4f9bc3f --- /dev/null +++ b/test/birdie_snapshots/javascript@warning_format_as_string@unnecessary_ignore_to_warning.accepted @@ -0,0 +1,15 @@ +--- +version: 2.0.0 +title: Javascript@warning_format_as_string@unnecessary_ignore_to_warning +--- +#( + "missing-package", + "ID: null +Package: missing-package +Version: null +WarningReason: Unnecessary Ignore +Dependency Type: Direct +Severity: unnecessary-ignore +Reason: Unnecessary ignore: package 'missing-package' is not a dependency +", +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted new file mode 100644 index 0000000..7d51d5b --- /dev/null +++ b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted @@ -0,0 +1,9 @@ +--- +version: 2.0.0 +title: Javascript@warning_format_as_string_minimal@unnecessary_ignore_to_warning +--- +#( + "missing-package", + "missing-package: unnecessary-ignore +", +) diff --git a/test/config_test.gleam b/test/config_test.gleam index 8234f77..62c486d 100644 --- a/test/config_test.gleam +++ b/test/config_test.gleam @@ -3,7 +3,7 @@ import gleamsver.{parse} import go_over/advisories/advisories.{Advisory} import go_over/config.{ filter_advisory_ids, filter_dev_dependencies, filter_packages, filter_severity, - read_config, + read_config, unnecessary_ignore_id_warnings, unnecessary_ignore_warnings, } import go_over/hex/puller import go_over/packages.{Package} @@ -312,6 +312,108 @@ pub fn merge_flags_and_config_conf_only_test() { == Ok(config.Config(..empty_conf(), format: config.Detailed)) } +pub fn unnecessary_ignore_warnings_test() { + let assert Ok(v) = parse("1.1.1") + let a = Package("a", v, "", True, packages.PackageSourceHex) + let b = Package("b", v, "", False, packages.PackageSourceHex) + let manifest = [a, b] + + let conf = + config.Config( + ..empty_conf(), + ignore_packages: ["a", "missing"], + ignore_severity: ["critical", "missing-severity"], + ignore_indirect: True, + ) + + let audit_warning = + Warning( + None, + "a", + None, + "", + warning.WarningReasonVulnerable, + warning.SeverityCritical, + warning.DirectDep, + ) + + assert unnecessary_ignore_warnings(conf, manifest, [audit_warning]) == [ + warning.unnecessary_ignore_to_warning( + "missing", + "Unnecessary ignore: package 'missing' is not a dependency", + ), + warning.unnecessary_ignore_to_warning( + "missing-severity", + "Unnecessary ignore: severity 'missing-severity' did not match any warnings", + ), + ] +} + +pub fn unnecessary_ignore_indirect_test() { + let assert Ok(v) = parse("1.1.1") + let direct = Package("a", v, "", True, packages.PackageSourceHex) + let conf = config.Config(..empty_conf(), ignore_indirect: True) + + assert unnecessary_ignore_warnings(conf, [direct], []) == [ + warning.unnecessary_ignore_to_warning( + "indirect", + "Unnecessary ignore: indirect=true has no effect (no indirect dependencies)", + ), + ] +} + +pub fn unnecessary_ignore_dev_dependencies_test() { + let assert Ok(v) = parse("1.1.1") + let pkg = Package("a", v, "", True, packages.PackageSourceHex) + let no_dev_deps = config.Config(..empty_conf(), ignore_dev_dependencies: True) + let missing_dev_deps = + config.Config( + ..empty_conf(), + dev_deps: ["not-in-manifest"], + ignore_dev_dependencies: True, + ) + + assert unnecessary_ignore_warnings(no_dev_deps, [pkg], []) == [ + warning.unnecessary_ignore_to_warning( + "dev_dependencies", + "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies configured)", + ), + ] + + assert unnecessary_ignore_warnings(missing_dev_deps, [pkg], []) == [ + warning.unnecessary_ignore_to_warning( + "dev_dependencies", + "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies in manifest)", + ), + ] +} + +pub fn unnecessary_ignore_id_warnings_test() { + let conf = config.Config(..empty_conf(), ignore_ids: ["known", "unknown"]) + let advisories = [ + Advisory("known", "present", "", [], ""), + Advisory("other", "missing", "", [], ""), + ] + + assert unnecessary_ignore_id_warnings(conf, ["present"], advisories) == [ + warning.unnecessary_ignore_to_warning( + "unknown", + "Unnecessary ignore: advisory id 'unknown' is unknown", + ), + ] + + let wrong_package = + config.Config(..empty_conf(), ignore_ids: ["other"]) + + assert unnecessary_ignore_id_warnings(wrong_package, ["present"], advisories) + == [ + warning.unnecessary_ignore_to_warning( + "other", + "Unnecessary ignore: advisory id 'other' does not apply to any dependency", + ), + ] +} + pub fn merge_flags_and_config_both_test() { assert config.merge_flags_and_config( config.Flags(..empty_flags, format: option.Some(config.JSON)), diff --git a/test/warning_test.gleam b/test/warning_test.gleam index 4ecdc43..4f6fae8 100644 --- a/test/warning_test.gleam +++ b/test/warning_test.gleam @@ -183,6 +183,17 @@ pub fn outdated_to_warning_test() { ) } +pub fn unnecessary_ignore_to_warning_test() { + to_warning_format( + "unnecessary_ignore_to_warning", + "missing-package", + warning.unnecessary_ignore_to_warning( + "missing-package", + "Unnecessary ignore: package 'missing-package' is not a dependency", + ), + ) +} + pub fn rejected_license_to_warning_test() { let license = "closed-source-crap" @@ -214,6 +225,8 @@ pub fn severity_as_string_test() { assert warning.severity_as_string(warning.SeverityHigh) == "high" assert warning.severity_as_string(warning.SeverityLow) == "low" assert warning.severity_as_string(warning.SeverityModerate) == "moderate" + assert warning.severity_as_string(warning.SeverityUnnecessaryIgnore) + == "unnecessary-ignore" assert warning.severity_as_string(warning.SeverityUnknown("something")) == "unknown-something" } @@ -231,6 +244,8 @@ pub fn string_to_severity_test() { == warning.SeverityPackageRetiredOtherReason("something") assert warning.string_to_severity("package-outdated") == warning.SeverityPackageOutdated + assert warning.string_to_severity("unnecessary-ignore") + == warning.SeverityUnnecessaryIgnore assert warning.string_to_severity("rejected-license") == warning.SeverityRejectedLicense assert warning.string_to_severity("critical") == warning.SeverityCritical From ee3fd228f404352694225c646fea36ddbe688503 Mon Sep 17 00:00:00 2001 From: bwireman Date: Fri, 5 Jun 2026 20:25:50 -0500 Subject: [PATCH 04/18] warn for unncessary ignore licenses --- src/go_over.gleam | 33 +++++++++++++++-------- src/go_over/config.gleam | 53 +++++++++++++++++++++++++++++++----- src/go_over/hex/hex.gleam | 9 ++++--- test/config_test.gleam | 57 ++++++++++++++++++++++++++++++++++----- 4 files changed, 125 insertions(+), 27 deletions(-) diff --git a/src/go_over.gleam b/src/go_over.gleam index 9f5ad8c..3ddf0f3 100644 --- a/src/go_over.gleam +++ b/src/go_over.gleam @@ -4,6 +4,7 @@ import gleam/json import gleam/list import gleam/string import go_over/config.{type Config} +import go_over/hex/hex import go_over/packages import go_over/sources import go_over/util/constants @@ -77,26 +78,25 @@ pub fn main() { spinner.set_text_spinner(spinner, "Reading manifest") let manifest_pkgs = packages.read_manifest("manifest.toml") - let pkgs = + let pkgs_audited = manifest_pkgs |> config.filter_dev_dependencies(conf, _) - |> config.filter_packages(conf, _) |> config.filter_indirect(conf, _) + let hex_pkgs = + list.filter(pkgs_audited, fn(p) { p.source == packages.PackageSourceHex }) + spinner.set_text_spinner( spinner, "Checking packages: " <> print.raw("vulnerable", "red"), ) - let vulnerable_warnings = sources.get_vulnerable_warnings(pkgs, conf) + let vulnerable_warnings = sources.get_vulnerable_warnings(pkgs_audited, conf) spinner.set_text_spinner( spinner, "Checking packages: " <> print.raw("retired", "yellow"), ) - let retired_warnings = - pkgs - |> list.filter(fn(p) { p.source == packages.PackageSourceHex }) - |> sources.get_retired_warnings(conf) + let retired_warnings = sources.get_retired_warnings(hex_pkgs, conf) let hex_warnings = gfunction.iff( @@ -107,23 +107,34 @@ pub fn main() { "Checking packages: " <> print.raw("licenses", "brightmagenta"), ) - pkgs - |> list.filter(fn(p) { p.source == packages.PackageSourceHex }) - |> sources.get_hex_warnings(conf) + sources.get_hex_warnings(hex_pkgs, conf) }, [], ) + let dependency_licenses = + gfunction.iff( + !list.is_empty(conf.allowed_licenses), + fn() { list.flat_map(hex_pkgs, hex.package_licenses(conf.puller, _)) }, + [], + ) + spinner.set_text_spinner(spinner, "Filtering warnings") let audit_warnings = list.append(retired_warnings, vulnerable_warnings) |> list.append(hex_warnings) let unnecessary_warnings = - config.unnecessary_ignore_warnings(conf, manifest_pkgs, audit_warnings) + config.unnecessary_ignore_warnings( + conf, + manifest_pkgs, + audit_warnings, + dependency_licenses, + ) let warnings = audit_warnings + |> config.filter_package_warnings(conf, _) |> config.filter_severity(conf, _) |> list.append(unnecessary_warnings) diff --git a/src/go_over/config.gleam b/src/go_over/config.gleam index 2aca8f8..9cdb070 100644 --- a/src/go_over/config.gleam +++ b/src/go_over/config.gleam @@ -172,6 +172,17 @@ pub fn filter_advisory_ids( glist.reject_contains_tap(advisories, fn(adv) { adv.id }, conf.ignore_ids) } +pub fn filter_package_warnings( + conf: Config, + warnings: List(Warning), +) -> List(Warning) { + glist.reject_contains_tap( + warnings, + fn(w) { w.package }, + conf.ignore_packages, + ) +} + pub fn filter_severity(conf: Config, warnings: List(Warning)) -> List(Warning) { glist.reject_contains_tap( warnings, @@ -184,21 +195,50 @@ pub fn unnecessary_ignore_warnings( conf: Config, manifest_pkgs: List(Package), audit_warnings: List(Warning), + dependency_licenses: List(String), ) -> List(Warning) { let manifest_names = list.map(manifest_pkgs, fn(pkg) { pkg.name }) + let packages_with_warnings = list.map(audit_warnings, fn(w) { w.package }) let severities_present = audit_warnings |> list.map(fn(w) { string.lowercase(warning.severity_as_string(w.severity)) }) let package_warnings = conf.ignore_packages - |> list.filter(fn(name) { !list.contains(manifest_names, name) }) - |> list.map(fn(name) { + |> list.flat_map(fn(name) { + case list.contains(manifest_names, name) { + False -> [ + warning.unnecessary_ignore_to_warning( + name, + "Unnecessary ignore: package '" + <> name + <> "' is not a dependency", + ), + ] + True -> + case list.contains(packages_with_warnings, name) { + True -> [] + False -> [ + warning.unnecessary_ignore_to_warning( + name, + "Unnecessary ignore: package '" + <> name + <> "' did not match any warnings", + ), + ] + } + } + }) + + let license_warnings = + conf.allowed_licenses + |> list.filter(fn(license) { !list.contains(dependency_licenses, license) }) + |> list.map(fn(license) { warning.unnecessary_ignore_to_warning( - name, - "Unnecessary ignore: package '" - <> name - <> "' is not a dependency", + license, + "Unnecessary ignore: license '" + <> license + <> "' did not match any dependency licenses", ) }) @@ -257,6 +297,7 @@ pub fn unnecessary_ignore_warnings( } package_warnings + |> list.append(license_warnings) |> list.append(severity_warnings) |> list.append(id_warnings) |> list.append(indirect_warnings) diff --git a/src/go_over/hex/hex.gleam b/src/go_over/hex/hex.gleam index 850122e..135c3e5 100644 --- a/src/go_over/hex/hex.gleam +++ b/src/go_over/hex/hex.gleam @@ -78,13 +78,16 @@ pub type HexWarningSource { RejectedLicense(name: String) } +pub fn package_licenses(puller: puller.Puller, pkg: Package) -> List(String) { + pull(puller, pkg).licenses +} + pub fn get_hex_info( puller: puller.Puller, pkg: Package, allowed_licenses: List(String), ) { - let info = pull(puller, pkg) - - glist.reject_contains(info.licenses, allowed_licenses) + package_licenses(puller, pkg) + |> glist.reject_contains(allowed_licenses) |> list.map(RejectedLicense) } diff --git a/test/config_test.gleam b/test/config_test.gleam index 62c486d..ed38baa 100644 --- a/test/config_test.gleam +++ b/test/config_test.gleam @@ -2,8 +2,9 @@ import gleam/option.{None} import gleamsver.{parse} import go_over/advisories/advisories.{Advisory} import go_over/config.{ - filter_advisory_ids, filter_dev_dependencies, filter_packages, filter_severity, - read_config, unnecessary_ignore_id_warnings, unnecessary_ignore_warnings, + filter_advisory_ids, filter_dev_dependencies, filter_package_warnings, + filter_packages, filter_severity, read_config, unnecessary_ignore_id_warnings, + unnecessary_ignore_warnings, } import go_over/hex/puller import go_over/packages.{Package} @@ -321,7 +322,7 @@ pub fn unnecessary_ignore_warnings_test() { let conf = config.Config( ..empty_conf(), - ignore_packages: ["a", "missing"], + ignore_packages: ["a", "b", "missing"], ignore_severity: ["critical", "missing-severity"], ignore_indirect: True, ) @@ -337,7 +338,11 @@ pub fn unnecessary_ignore_warnings_test() { warning.DirectDep, ) - assert unnecessary_ignore_warnings(conf, manifest, [audit_warning]) == [ + assert unnecessary_ignore_warnings(conf, manifest, [audit_warning], []) == [ + warning.unnecessary_ignore_to_warning( + "b", + "Unnecessary ignore: package 'b' did not match any warnings", + ), warning.unnecessary_ignore_to_warning( "missing", "Unnecessary ignore: package 'missing' is not a dependency", @@ -349,12 +354,50 @@ pub fn unnecessary_ignore_warnings_test() { ] } +pub fn unnecessary_ignore_license_warnings_test() { + let conf = + config.Config(..empty_conf(), allowed_licenses: ["MIT", "Apache-2.0", "WTFPL"]) + + assert unnecessary_ignore_warnings(conf, [], [], ["MIT", "Apache-2.0"]) == [ + warning.unnecessary_ignore_to_warning( + "WTFPL", + "Unnecessary ignore: license 'WTFPL' did not match any dependency licenses", + ), + ] +} + +pub fn filter_package_warnings_test() { + let full = test_read_config("test/testdata/gleam/full.toml") + let warning_a = + Warning( + None, + "a", + None, + "", + warning.WarningReasonVulnerable, + warning.SeverityCritical, + warning.DirectDep, + ) + let warning_c = + Warning( + None, + "c", + None, + "", + warning.WarningReasonVulnerable, + warning.SeverityCritical, + warning.DirectDep, + ) + + assert filter_package_warnings(full, [warning_a, warning_c]) == [warning_c] +} + pub fn unnecessary_ignore_indirect_test() { let assert Ok(v) = parse("1.1.1") let direct = Package("a", v, "", True, packages.PackageSourceHex) let conf = config.Config(..empty_conf(), ignore_indirect: True) - assert unnecessary_ignore_warnings(conf, [direct], []) == [ + assert unnecessary_ignore_warnings(conf, [direct], [], []) == [ warning.unnecessary_ignore_to_warning( "indirect", "Unnecessary ignore: indirect=true has no effect (no indirect dependencies)", @@ -373,14 +416,14 @@ pub fn unnecessary_ignore_dev_dependencies_test() { ignore_dev_dependencies: True, ) - assert unnecessary_ignore_warnings(no_dev_deps, [pkg], []) == [ + assert unnecessary_ignore_warnings(no_dev_deps, [pkg], [], []) == [ warning.unnecessary_ignore_to_warning( "dev_dependencies", "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies configured)", ), ] - assert unnecessary_ignore_warnings(missing_dev_deps, [pkg], []) == [ + assert unnecessary_ignore_warnings(missing_dev_deps, [pkg], [], []) == [ warning.unnecessary_ignore_to_warning( "dev_dependencies", "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies in manifest)", From 8a4b3373ade961418dccad508ddceb1c41f490fe Mon Sep 17 00:00:00 2001 From: bwireman Date: Fri, 5 Jun 2026 20:32:55 -0500 Subject: [PATCH 05/18] format --- src/go_over.gleam | 4 +- src/go_over/config.gleam | 15 ++---- src/go_over/warning.gleam | 5 +- test/config_test.gleam | 103 +++++++++++++++++++++----------------- 4 files changed, 68 insertions(+), 59 deletions(-) diff --git a/src/go_over.gleam b/src/go_over.gleam index 3ddf0f3..725f29a 100644 --- a/src/go_over.gleam +++ b/src/go_over.gleam @@ -153,7 +153,9 @@ pub fn main() { } fn run_deps_outdated() -> Bool { - print.warning("The --outdated flag is deprecated. Use `gleam deps outdated` instead.") + print.warning( + "The --outdated flag is deprecated. Use `gleam deps outdated` instead.", + ) case shellout.command(run: "gleam", with: ["deps", "outdated"], in: ".", opt: [ diff --git a/src/go_over/config.gleam b/src/go_over/config.gleam index 9cdb070..4200242 100644 --- a/src/go_over/config.gleam +++ b/src/go_over/config.gleam @@ -176,11 +176,7 @@ pub fn filter_package_warnings( conf: Config, warnings: List(Warning), ) -> List(Warning) { - glist.reject_contains_tap( - warnings, - fn(w) { w.package }, - conf.ignore_packages, - ) + glist.reject_contains_tap(warnings, fn(w) { w.package }, conf.ignore_packages) } pub fn filter_severity(conf: Config, warnings: List(Warning)) -> List(Warning) { @@ -201,7 +197,9 @@ pub fn unnecessary_ignore_warnings( let packages_with_warnings = list.map(audit_warnings, fn(w) { w.package }) let severities_present = audit_warnings - |> list.map(fn(w) { string.lowercase(warning.severity_as_string(w.severity)) }) + |> list.map(fn(w) { + string.lowercase(warning.severity_as_string(w.severity)) + }) let package_warnings = conf.ignore_packages @@ -210,9 +208,7 @@ pub fn unnecessary_ignore_warnings( False -> [ warning.unnecessary_ignore_to_warning( name, - "Unnecessary ignore: package '" - <> name - <> "' is not a dependency", + "Unnecessary ignore: package '" <> name <> "' is not a dependency", ), ] True -> @@ -309,7 +305,6 @@ pub fn unnecessary_ignore_id_warnings( manifest_names: List(String), all_advisories: List(Advisory), ) -> List(Warning) { - conf.ignore_ids |> list.flat_map(fn(id) { case list.find(all_advisories, fn(a: Advisory) { a.id == id }) { diff --git a/src/go_over/warning.gleam b/src/go_over/warning.gleam index 1c75a03..0dbab54 100644 --- a/src/go_over/warning.gleam +++ b/src/go_over/warning.gleam @@ -174,7 +174,10 @@ pub fn rejected_license_to_warning(pkg: Package, license: String) -> Warning { ) } -pub fn unnecessary_ignore_to_warning(target: String, reason: String) -> Warning { +pub fn unnecessary_ignore_to_warning( + target: String, + reason: String, +) -> Warning { Warning( None, target, diff --git a/test/config_test.gleam b/test/config_test.gleam index ed38baa..f956763 100644 --- a/test/config_test.gleam +++ b/test/config_test.gleam @@ -338,32 +338,38 @@ pub fn unnecessary_ignore_warnings_test() { warning.DirectDep, ) - assert unnecessary_ignore_warnings(conf, manifest, [audit_warning], []) == [ - warning.unnecessary_ignore_to_warning( - "b", - "Unnecessary ignore: package 'b' did not match any warnings", - ), - warning.unnecessary_ignore_to_warning( - "missing", - "Unnecessary ignore: package 'missing' is not a dependency", - ), - warning.unnecessary_ignore_to_warning( - "missing-severity", - "Unnecessary ignore: severity 'missing-severity' did not match any warnings", - ), - ] + assert unnecessary_ignore_warnings(conf, manifest, [audit_warning], []) + == [ + warning.unnecessary_ignore_to_warning( + "b", + "Unnecessary ignore: package 'b' did not match any warnings", + ), + warning.unnecessary_ignore_to_warning( + "missing", + "Unnecessary ignore: package 'missing' is not a dependency", + ), + warning.unnecessary_ignore_to_warning( + "missing-severity", + "Unnecessary ignore: severity 'missing-severity' did not match any warnings", + ), + ] } pub fn unnecessary_ignore_license_warnings_test() { let conf = - config.Config(..empty_conf(), allowed_licenses: ["MIT", "Apache-2.0", "WTFPL"]) - - assert unnecessary_ignore_warnings(conf, [], [], ["MIT", "Apache-2.0"]) == [ - warning.unnecessary_ignore_to_warning( + config.Config(..empty_conf(), allowed_licenses: [ + "MIT", + "Apache-2.0", "WTFPL", - "Unnecessary ignore: license 'WTFPL' did not match any dependency licenses", - ), - ] + ]) + + assert unnecessary_ignore_warnings(conf, [], [], ["MIT", "Apache-2.0"]) + == [ + warning.unnecessary_ignore_to_warning( + "WTFPL", + "Unnecessary ignore: license 'WTFPL' did not match any dependency licenses", + ), + ] } pub fn filter_package_warnings_test() { @@ -397,12 +403,13 @@ pub fn unnecessary_ignore_indirect_test() { let direct = Package("a", v, "", True, packages.PackageSourceHex) let conf = config.Config(..empty_conf(), ignore_indirect: True) - assert unnecessary_ignore_warnings(conf, [direct], [], []) == [ - warning.unnecessary_ignore_to_warning( - "indirect", - "Unnecessary ignore: indirect=true has no effect (no indirect dependencies)", - ), - ] + assert unnecessary_ignore_warnings(conf, [direct], [], []) + == [ + warning.unnecessary_ignore_to_warning( + "indirect", + "Unnecessary ignore: indirect=true has no effect (no indirect dependencies)", + ), + ] } pub fn unnecessary_ignore_dev_dependencies_test() { @@ -416,19 +423,21 @@ pub fn unnecessary_ignore_dev_dependencies_test() { ignore_dev_dependencies: True, ) - assert unnecessary_ignore_warnings(no_dev_deps, [pkg], [], []) == [ - warning.unnecessary_ignore_to_warning( - "dev_dependencies", - "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies configured)", - ), - ] + assert unnecessary_ignore_warnings(no_dev_deps, [pkg], [], []) + == [ + warning.unnecessary_ignore_to_warning( + "dev_dependencies", + "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies configured)", + ), + ] - assert unnecessary_ignore_warnings(missing_dev_deps, [pkg], [], []) == [ - warning.unnecessary_ignore_to_warning( - "dev_dependencies", - "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies in manifest)", - ), - ] + assert unnecessary_ignore_warnings(missing_dev_deps, [pkg], [], []) + == [ + warning.unnecessary_ignore_to_warning( + "dev_dependencies", + "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies in manifest)", + ), + ] } pub fn unnecessary_ignore_id_warnings_test() { @@ -438,15 +447,15 @@ pub fn unnecessary_ignore_id_warnings_test() { Advisory("other", "missing", "", [], ""), ] - assert unnecessary_ignore_id_warnings(conf, ["present"], advisories) == [ - warning.unnecessary_ignore_to_warning( - "unknown", - "Unnecessary ignore: advisory id 'unknown' is unknown", - ), - ] + assert unnecessary_ignore_id_warnings(conf, ["present"], advisories) + == [ + warning.unnecessary_ignore_to_warning( + "unknown", + "Unnecessary ignore: advisory id 'unknown' is unknown", + ), + ] - let wrong_package = - config.Config(..empty_conf(), ignore_ids: ["other"]) + let wrong_package = config.Config(..empty_conf(), ignore_ids: ["other"]) assert unnecessary_ignore_id_warnings(wrong_package, ["present"], advisories) == [ From b28c00b979b81a7f752b2877cc246803fa9481e3 Mon Sep 17 00:00:00 2001 From: bwireman Date: Fri, 5 Jun 2026 21:03:56 -0500 Subject: [PATCH 06/18] unncessary ignores --- src/go_over.gleam | 85 +++++++++++++++---- src/go_over/config.gleam | 40 ++++----- src/go_over/warning.gleam | 28 +++--- .../erlang@warning@info_to_warning.accepted | 16 ++++ ...ing@unnecessary_ignore_to_warning.accepted | 16 ---- ...ng_format_as_json@info_to_warning.accepted | 18 ++++ ...son@unnecessary_ignore_to_warning.accepted | 18 ---- ..._format_as_string@info_to_warning.accepted | 15 ++++ ...ing@unnecessary_ignore_to_warning.accepted | 15 ---- ...as_string_minimal@info_to_warning.accepted | 9 ++ ...mal@unnecessary_ignore_to_warning.accepted | 9 -- .../javascript@warning@info_to_warning.new | 16 ++++ ...ing@unnecessary_ignore_to_warning.accepted | 16 ---- ...son@unnecessary_ignore_to_warning.accepted | 16 ---- ...ing@unnecessary_ignore_to_warning.accepted | 15 ---- ...mal@unnecessary_ignore_to_warning.accepted | 9 -- test/config_test.gleam | 36 ++++---- test/warning_test.gleam | 14 ++- 18 files changed, 202 insertions(+), 189 deletions(-) create mode 100644 test/birdie_snapshots/erlang@warning@info_to_warning.accepted delete mode 100644 test/birdie_snapshots/erlang@warning@unnecessary_ignore_to_warning.accepted create mode 100644 test/birdie_snapshots/erlang@warning_format_as_json@info_to_warning.accepted delete mode 100644 test/birdie_snapshots/erlang@warning_format_as_json@unnecessary_ignore_to_warning.accepted create mode 100644 test/birdie_snapshots/erlang@warning_format_as_string@info_to_warning.accepted delete mode 100644 test/birdie_snapshots/erlang@warning_format_as_string@unnecessary_ignore_to_warning.accepted create mode 100644 test/birdie_snapshots/erlang@warning_format_as_string_minimal@info_to_warning.accepted delete mode 100644 test/birdie_snapshots/erlang@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted create mode 100644 test/birdie_snapshots/javascript@warning@info_to_warning.new delete mode 100644 test/birdie_snapshots/javascript@warning@unnecessary_ignore_to_warning.accepted delete mode 100644 test/birdie_snapshots/javascript@warning_format_as_json@unnecessary_ignore_to_warning.accepted delete mode 100644 test/birdie_snapshots/javascript@warning_format_as_string@unnecessary_ignore_to_warning.accepted delete mode 100644 test/birdie_snapshots/javascript@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted diff --git a/src/go_over.gleam b/src/go_over.gleam index 725f29a..1624f96 100644 --- a/src/go_over.gleam +++ b/src/go_over.gleam @@ -17,22 +17,65 @@ import gxyz/function as gfunction import shellout import simplifile -fn print_warnings_count(vulns: List(Warning)) -> List(Warning) { - { - "⛔ " - <> int.to_string(list.length(vulns)) - <> " WARNING(s) FOUND!" - <> constants.long_ass_dashes - } - |> io.print_error() +fn print_warnings_count(vulns: List(Warning), label: String) -> List(Warning) { + label |> io.print_error() vulns } -pub fn print_warnings(vulns: List(Warning), conf: Config) -> Nil { +fn print_warnings_list( + vulns: List(Warning), + conf: Config, + label: String, +) -> Nil { + let label = warnings_label(vulns, label) + + case conf.format { + config.Minimal -> + vulns + |> print_warnings_count(label) + |> list.map(warning.format_as_string_minimal) + |> string.join("") + |> io.print_error() + + config.JSON -> + vulns + |> list.map(warning.format_as_json) + |> json.preprocessed_array() + |> json.to_string() + |> io.print_error() + + _ -> + vulns + |> print_warnings_count(label) + |> list.map(warning.format_as_string) + |> string.join(constants.long_ass_dashes) + |> io.print_error() + } +} + +fn warnings_label(vulns: List(Warning), kind: String) -> String { + "⛔ " + <> int.to_string(list.length(vulns)) + <> " " + <> kind + <> "(s) FOUND!" + <> constants.long_ass_dashes +} + +fn info_label(vulns: List(Warning)) -> String { + "ℹ️ " + <> int.to_string(list.length(vulns)) + <> " Item(s) of Note" + <> constants.long_ass_dashes +} + +fn print_info_list(vulns: List(Warning), conf: Config) -> Nil { + let label = info_label(vulns) + case conf.format { config.Minimal -> vulns - |> print_warnings_count + |> print_warnings_count(label) |> list.map(warning.format_as_string_minimal) |> string.join("") |> io.print_error() @@ -46,11 +89,19 @@ pub fn print_warnings(vulns: List(Warning), conf: Config) -> Nil { _ -> vulns - |> print_warnings_count + |> print_warnings_count(label) |> list.map(warning.format_as_string) |> string.join(constants.long_ass_dashes) |> io.print_error() } +} + +pub fn print_info(vulns: List(Warning), conf: Config) -> Nil { + print_info_list(vulns, conf) +} + +pub fn print_warnings(vulns: List(Warning), conf: Config) -> Nil { + print_warnings_list(vulns, conf, "WARNING") shellout.exit(1) } @@ -132,11 +183,10 @@ pub fn main() { dependency_licenses, ) - let warnings = + let fatal_warnings = audit_warnings |> config.filter_package_warnings(conf, _) |> config.filter_severity(conf, _) - |> list.append(unnecessary_warnings) spinner.stop_spinner(spinner) @@ -145,7 +195,12 @@ pub fn main() { True -> run_deps_outdated() } - case warnings, outdated_failed { + case unnecessary_warnings { + [] -> Nil + info -> print_info(info, conf) + } + + case fatal_warnings, outdated_failed { [], False -> print.success("✅ No warnings found!") [], True -> shellout.exit(1) vulns, _ -> print_warnings(vulns, conf) @@ -153,7 +208,7 @@ pub fn main() { } fn run_deps_outdated() -> Bool { - print.warning( + print.high( "The --outdated flag is deprecated. Use `gleam deps outdated` instead.", ) diff --git a/src/go_over/config.gleam b/src/go_over/config.gleam index 4200242..a32e580 100644 --- a/src/go_over/config.gleam +++ b/src/go_over/config.gleam @@ -206,20 +206,18 @@ pub fn unnecessary_ignore_warnings( |> list.flat_map(fn(name) { case list.contains(manifest_names, name) { False -> [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( name, - "Unnecessary ignore: package '" <> name <> "' is not a dependency", + "Info: package '" <> name <> "' is not a dependency", ), ] True -> case list.contains(packages_with_warnings, name) { True -> [] False -> [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( name, - "Unnecessary ignore: package '" - <> name - <> "' did not match any warnings", + "Info: package '" <> name <> "' did not match any warnings", ), ] } @@ -230,9 +228,9 @@ pub fn unnecessary_ignore_warnings( conf.allowed_licenses |> list.filter(fn(license) { !list.contains(dependency_licenses, license) }) |> list.map(fn(license) { - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( license, - "Unnecessary ignore: license '" + "Info: license '" <> license <> "' did not match any dependency licenses", ) @@ -244,11 +242,9 @@ pub fn unnecessary_ignore_warnings( !list.contains(severities_present, string.lowercase(sev)) }) |> list.map(fn(sev) { - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( sev, - "Unnecessary ignore: severity '" - <> sev - <> "' did not match any warnings", + "Info: severity '" <> sev <> "' did not match any warnings", ) }) @@ -261,9 +257,9 @@ pub fn unnecessary_ignore_warnings( case list.any(manifest_pkgs, fn(pkg) { !pkg.direct }) { True -> [] False -> [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( "indirect", - "Unnecessary ignore: indirect=true has no effect (no indirect dependencies)", + "Info: indirect=true has no effect (no indirect dependencies)", ), ] } @@ -274,18 +270,18 @@ pub fn unnecessary_ignore_warnings( True -> case conf.dev_deps { [] -> [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( "dev_dependencies", - "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies configured)", + "Info: dev_dependencies=true has no effect (no dev-dependencies configured)", ), ] dev_deps -> case list.any(dev_deps, list.contains(manifest_names, _)) { True -> [] False -> [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( "dev_dependencies", - "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies in manifest)", + "Info: dev_dependencies=true has no effect (no dev-dependencies in manifest)", ), ] } @@ -309,18 +305,18 @@ pub fn unnecessary_ignore_id_warnings( |> list.flat_map(fn(id) { case list.find(all_advisories, fn(a: Advisory) { a.id == id }) { Error(_) -> [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( id, - "Unnecessary ignore: advisory id '" <> id <> "' is unknown", + "Info: advisory id '" <> id <> "' is unknown", ), ] Ok(adv) -> case list.contains(manifest_names, adv.name) { True -> [] False -> [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( id, - "Unnecessary ignore: advisory id '" + "Info: advisory id '" <> id <> "' does not apply to any dependency", ), diff --git a/src/go_over/warning.gleam b/src/go_over/warning.gleam index 0dbab54..004e090 100644 --- a/src/go_over/warning.gleam +++ b/src/go_over/warning.gleam @@ -13,7 +13,7 @@ pub type WarningReasonCode { WarningReasonVulnerable WarningReasonOutdated WarningReasonRejectedLicense(name: String) - WarningReasonUnnecessaryIgnore + WarningReasonInfo } fn warning_reason_code_as_string(w: WarningReasonCode) -> String { @@ -22,7 +22,7 @@ fn warning_reason_code_as_string(w: WarningReasonCode) -> String { WarningReasonVulnerable -> "Vulnerable" WarningReasonOutdated -> "Outdated" WarningReasonRejectedLicense(name) -> "Rejected License (" <> name <> ")" - WarningReasonUnnecessaryIgnore -> "Unnecessary Ignore" + WarningReasonInfo -> "Info" } } @@ -38,7 +38,7 @@ pub type Severity { SeverityHigh SeverityLow SeverityModerate - SeverityUnnecessaryIgnore + SeverityInfo SeverityUnknown(info: String) } @@ -56,7 +56,7 @@ pub fn severity_as_string(s: Severity) -> String { SeverityHigh -> "high" SeverityLow -> "low" SeverityModerate -> "moderate" - SeverityUnnecessaryIgnore -> "unnecessary-ignore" + SeverityInfo -> "info" SeverityUnknown(value) -> string.join(["unknown", string.lowercase(value)], "-") } @@ -75,7 +75,7 @@ pub fn string_to_severity(s: String) -> Severity { "high" -> SeverityHigh "low" -> SeverityLow "moderate" -> SeverityModerate - "unnecessary-ignore" -> SeverityUnnecessaryIgnore + "info" -> SeverityInfo "unknown-" <> v -> SeverityUnknown(v) v -> SeverityUnknown(v) } @@ -174,21 +174,25 @@ pub fn rejected_license_to_warning(pkg: Package, license: String) -> Warning { ) } -pub fn unnecessary_ignore_to_warning( - target: String, - reason: String, -) -> Warning { +pub fn info_to_warning(target: String, reason: String) -> Warning { Warning( None, target, None, reason, - WarningReasonUnnecessaryIgnore, - SeverityUnnecessaryIgnore, + WarningReasonInfo, + SeverityInfo, DirectDep, ) } +pub fn is_info(w: Warning) -> Bool { + case w.severity { + SeverityInfo -> True + _ -> False + } +} + pub fn format_as_string(w: Warning) -> String { [ "ID: " <> option.unwrap(w.advisory_id, "null"), @@ -240,7 +244,7 @@ fn color(w: Warning, str: String) { | SeverityPackageRetiredDeprecated | SeverityPackageOutdated -> print.format_moderate(str) SeverityLow | SeverityPackageRetiredInvalid -> print.format_low(str) - SeverityUnnecessaryIgnore -> print.format_warning(str) + SeverityInfo -> print.format_high(str) SeverityUnknown(_) | SeverityPackageRetiredOtherReason(_) -> print.format_warning(str) } diff --git a/test/birdie_snapshots/erlang@warning@info_to_warning.accepted b/test/birdie_snapshots/erlang@warning@info_to_warning.accepted new file mode 100644 index 0000000..4217b3e --- /dev/null +++ b/test/birdie_snapshots/erlang@warning@info_to_warning.accepted @@ -0,0 +1,16 @@ +--- +version: 2.0.0 +title: Erlang@warning@info_to_warning +--- +#( + "missing-package", + Warning( + None, + "missing-package", + None, + "Info: package 'missing-package' is not a dependency", + WarningReasonInfo, + SeverityInfo, + DirectDep, + ), +) diff --git a/test/birdie_snapshots/erlang@warning@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/erlang@warning@unnecessary_ignore_to_warning.accepted deleted file mode 100644 index 3ca36ad..0000000 --- a/test/birdie_snapshots/erlang@warning@unnecessary_ignore_to_warning.accepted +++ /dev/null @@ -1,16 +0,0 @@ ---- -version: 2.0.0 -title: Erlang@warning@unnecessary_ignore_to_warning ---- -#( - "missing-package", - Warning( - None, - "missing-package", - None, - "Unnecessary ignore: package 'missing-package' is not a dependency", - WarningReasonUnnecessaryIgnore, - SeverityUnnecessaryIgnore, - DirectDep, - ), -) diff --git a/test/birdie_snapshots/erlang@warning_format_as_json@info_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@info_to_warning.accepted new file mode 100644 index 0000000..f8d52b1 --- /dev/null +++ b/test/birdie_snapshots/erlang@warning_format_as_json@info_to_warning.accepted @@ -0,0 +1,18 @@ +--- +version: 2.0.0 +title: Erlang@warning_format_as_json@info_to_warning +--- +#( + "missing-package", + " +{ +"id": null, +"package": "missing-package", +"version": null, +"warning_reason": "Info", +"dependency_type": "Direct", +"severity": "info", +"reason": "Info: package 'missing-package' is not a dependency" +} +", +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_json@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@unnecessary_ignore_to_warning.accepted deleted file mode 100644 index 0599f2d..0000000 --- a/test/birdie_snapshots/erlang@warning_format_as_json@unnecessary_ignore_to_warning.accepted +++ /dev/null @@ -1,18 +0,0 @@ ---- -version: 2.0.0 -title: Erlang@warning_format_as_json@unnecessary_ignore_to_warning ---- -#( - "missing-package", - " -{ -"id": null, -"package": "missing-package", -"version": null, -"warning_reason": "Unnecessary Ignore", -"dependency_type": "Direct", -"severity": "unnecessary-ignore", -"reason": "Unnecessary ignore: package 'missing-package' is not a dependency" -} -", -) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string@info_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@info_to_warning.accepted new file mode 100644 index 0000000..fe6d2af --- /dev/null +++ b/test/birdie_snapshots/erlang@warning_format_as_string@info_to_warning.accepted @@ -0,0 +1,15 @@ +--- +version: 2.0.0 +title: Erlang@warning_format_as_string@info_to_warning +--- +#( + "missing-package", + "ID: null +Package: missing-package +Version: null +WarningReason: Info +Dependency Type: Direct +Severity: info +Reason: Info: package 'missing-package' is not a dependency +", +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@unnecessary_ignore_to_warning.accepted deleted file mode 100644 index a7c96ac..0000000 --- a/test/birdie_snapshots/erlang@warning_format_as_string@unnecessary_ignore_to_warning.accepted +++ /dev/null @@ -1,15 +0,0 @@ ---- -version: 2.0.0 -title: Erlang@warning_format_as_string@unnecessary_ignore_to_warning ---- -#( - "missing-package", - "ID: null -Package: missing-package -Version: null -WarningReason: Unnecessary Ignore -Dependency Type: Direct -Severity: unnecessary-ignore -Reason: Unnecessary ignore: package 'missing-package' is not a dependency -", -) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@info_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@info_to_warning.accepted new file mode 100644 index 0000000..9b1910d --- /dev/null +++ b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@info_to_warning.accepted @@ -0,0 +1,9 @@ +--- +version: 2.0.0 +title: Erlang@warning_format_as_string_minimal@info_to_warning +--- +#( + "missing-package", + "missing-package: info +", +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted deleted file mode 100644 index 8264a48..0000000 --- a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted +++ /dev/null @@ -1,9 +0,0 @@ ---- -version: 2.0.0 -title: Erlang@warning_format_as_string_minimal@unnecessary_ignore_to_warning ---- -#( - "missing-package", - "missing-package: unnecessary-ignore -", -) diff --git a/test/birdie_snapshots/javascript@warning@info_to_warning.new b/test/birdie_snapshots/javascript@warning@info_to_warning.new new file mode 100644 index 0000000..db3da2f --- /dev/null +++ b/test/birdie_snapshots/javascript@warning@info_to_warning.new @@ -0,0 +1,16 @@ +--- +version: 2.0.0 +title: Javascript@warning@info_to_warning +--- +#( + "missing-package", + Warning( + advisory_id: None, + package: "missing-package", + version: None, + reason: "Info: package 'missing-package' is not a dependency", + warning_reason_code: WarningReasonInfo, + severity: SeverityInfo, + dep: DirectDep, + ), +) diff --git a/test/birdie_snapshots/javascript@warning@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/javascript@warning@unnecessary_ignore_to_warning.accepted deleted file mode 100644 index 94119bc..0000000 --- a/test/birdie_snapshots/javascript@warning@unnecessary_ignore_to_warning.accepted +++ /dev/null @@ -1,16 +0,0 @@ ---- -version: 2.0.0 -title: Javascript@warning@unnecessary_ignore_to_warning ---- -#( - "missing-package", - Warning( - advisory_id: None, - package: "missing-package", - version: None, - reason: "Unnecessary ignore: package 'missing-package' is not a dependency", - warning_reason_code: WarningReasonUnnecessaryIgnore, - severity: SeverityUnnecessaryIgnore, - dep: DirectDep, - ), -) diff --git a/test/birdie_snapshots/javascript@warning_format_as_json@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@unnecessary_ignore_to_warning.accepted deleted file mode 100644 index ed11be4..0000000 --- a/test/birdie_snapshots/javascript@warning_format_as_json@unnecessary_ignore_to_warning.accepted +++ /dev/null @@ -1,16 +0,0 @@ ---- -version: 2.0.0 -title: Javascript@warning_format_as_json@unnecessary_ignore_to_warning ---- -#( - "missing-package", - "{ - "id": null, - "package": "missing-package", - "version": null, - "warning_reason": "Unnecessary Ignore", - "dependency_type": "Direct", - "severity": "unnecessary-ignore", - "reason": "Unnecessary ignore: package 'missing-package' is not a dependency" -}", -) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@unnecessary_ignore_to_warning.accepted deleted file mode 100644 index 4f9bc3f..0000000 --- a/test/birdie_snapshots/javascript@warning_format_as_string@unnecessary_ignore_to_warning.accepted +++ /dev/null @@ -1,15 +0,0 @@ ---- -version: 2.0.0 -title: Javascript@warning_format_as_string@unnecessary_ignore_to_warning ---- -#( - "missing-package", - "ID: null -Package: missing-package -Version: null -WarningReason: Unnecessary Ignore -Dependency Type: Direct -Severity: unnecessary-ignore -Reason: Unnecessary ignore: package 'missing-package' is not a dependency -", -) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted deleted file mode 100644 index 7d51d5b..0000000 --- a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@unnecessary_ignore_to_warning.accepted +++ /dev/null @@ -1,9 +0,0 @@ ---- -version: 2.0.0 -title: Javascript@warning_format_as_string_minimal@unnecessary_ignore_to_warning ---- -#( - "missing-package", - "missing-package: unnecessary-ignore -", -) diff --git a/test/config_test.gleam b/test/config_test.gleam index f956763..d60efe0 100644 --- a/test/config_test.gleam +++ b/test/config_test.gleam @@ -340,17 +340,17 @@ pub fn unnecessary_ignore_warnings_test() { assert unnecessary_ignore_warnings(conf, manifest, [audit_warning], []) == [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( "b", - "Unnecessary ignore: package 'b' did not match any warnings", + "Info: package 'b' did not match any warnings", ), - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( "missing", - "Unnecessary ignore: package 'missing' is not a dependency", + "Info: package 'missing' is not a dependency", ), - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( "missing-severity", - "Unnecessary ignore: severity 'missing-severity' did not match any warnings", + "Info: severity 'missing-severity' did not match any warnings", ), ] } @@ -365,9 +365,9 @@ pub fn unnecessary_ignore_license_warnings_test() { assert unnecessary_ignore_warnings(conf, [], [], ["MIT", "Apache-2.0"]) == [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( "WTFPL", - "Unnecessary ignore: license 'WTFPL' did not match any dependency licenses", + "Info: license 'WTFPL' did not match any dependency licenses", ), ] } @@ -405,9 +405,9 @@ pub fn unnecessary_ignore_indirect_test() { assert unnecessary_ignore_warnings(conf, [direct], [], []) == [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( "indirect", - "Unnecessary ignore: indirect=true has no effect (no indirect dependencies)", + "Info: indirect=true has no effect (no indirect dependencies)", ), ] } @@ -425,17 +425,17 @@ pub fn unnecessary_ignore_dev_dependencies_test() { assert unnecessary_ignore_warnings(no_dev_deps, [pkg], [], []) == [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( "dev_dependencies", - "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies configured)", + "Info: dev_dependencies=true has no effect (no dev-dependencies configured)", ), ] assert unnecessary_ignore_warnings(missing_dev_deps, [pkg], [], []) == [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( "dev_dependencies", - "Unnecessary ignore: dev_dependencies=true has no effect (no dev-dependencies in manifest)", + "Info: dev_dependencies=true has no effect (no dev-dependencies in manifest)", ), ] } @@ -449,9 +449,9 @@ pub fn unnecessary_ignore_id_warnings_test() { assert unnecessary_ignore_id_warnings(conf, ["present"], advisories) == [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( "unknown", - "Unnecessary ignore: advisory id 'unknown' is unknown", + "Info: advisory id 'unknown' is unknown", ), ] @@ -459,9 +459,9 @@ pub fn unnecessary_ignore_id_warnings_test() { assert unnecessary_ignore_id_warnings(wrong_package, ["present"], advisories) == [ - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( "other", - "Unnecessary ignore: advisory id 'other' does not apply to any dependency", + "Info: advisory id 'other' does not apply to any dependency", ), ] } diff --git a/test/warning_test.gleam b/test/warning_test.gleam index 4f6fae8..72d5577 100644 --- a/test/warning_test.gleam +++ b/test/warning_test.gleam @@ -183,13 +183,13 @@ pub fn outdated_to_warning_test() { ) } -pub fn unnecessary_ignore_to_warning_test() { +pub fn info_to_warning_test() { to_warning_format( - "unnecessary_ignore_to_warning", + "info_to_warning", "missing-package", - warning.unnecessary_ignore_to_warning( + warning.info_to_warning( "missing-package", - "Unnecessary ignore: package 'missing-package' is not a dependency", + "Info: package 'missing-package' is not a dependency", ), ) } @@ -225,8 +225,7 @@ pub fn severity_as_string_test() { assert warning.severity_as_string(warning.SeverityHigh) == "high" assert warning.severity_as_string(warning.SeverityLow) == "low" assert warning.severity_as_string(warning.SeverityModerate) == "moderate" - assert warning.severity_as_string(warning.SeverityUnnecessaryIgnore) - == "unnecessary-ignore" + assert warning.severity_as_string(warning.SeverityInfo) == "info" assert warning.severity_as_string(warning.SeverityUnknown("something")) == "unknown-something" } @@ -244,8 +243,7 @@ pub fn string_to_severity_test() { == warning.SeverityPackageRetiredOtherReason("something") assert warning.string_to_severity("package-outdated") == warning.SeverityPackageOutdated - assert warning.string_to_severity("unnecessary-ignore") - == warning.SeverityUnnecessaryIgnore + assert warning.string_to_severity("info") == warning.SeverityInfo assert warning.string_to_severity("rejected-license") == warning.SeverityRejectedLicense assert warning.string_to_severity("critical") == warning.SeverityCritical From 4ad0adbcbe37ddbe5b31a1d36dceaec48a40bf2c Mon Sep 17 00:00:00 2001 From: bwireman Date: Fri, 5 Jun 2026 21:18:18 -0500 Subject: [PATCH 07/18] vhs --- images/demo.gif | Bin 271647 -> 285906 bytes images/demo.tape | 4 ++-- src/go_over/util/constants.gleam | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/images/demo.gif b/images/demo.gif index acfa05dd911da24034f9e26c6873a8657f70d28d..9af84280ceae28fc90f6860b22d117ed6acad0e6 100644 GIT binary patch literal 285906 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%0Dbx6DRPaaQs z#0}kp*Qw*PSvYQrtN2WAEvB3hgCLx!LRyNM<4lfRU)hnv&iDJ7r6nIC?cr_qnNYQhgaKy@S4rex) zh+CsPu{}L@aXNKnCb%K=3I~+djj|#)R3vV!DtN_Mc_fZbL&fQg{5Q?u@&j$-W?0OO z`TJ*g&9Gxw)`UW3F1T6W_=4B<*Co7ej4oS`9{S;rl&vg(#v65kwoM!%s~(MSHo;C}WISn;1iyC9(-;4);GQw5+<0UHaH zJ#cX{M;J?@!RdJWUl+ykqJc>RkbBY<0Bt->9q#*svZSnomVgwIy|%eg5k3B6^R?6_ zA24$!6>L(gbBzlRZ&*azgnYC;IcJjMB=w?mcDNu1s@449gU3M${mM7r&v$lSnFdsm zTXT9gBSEHD1Zesd33J?vmZWW}CME1#eeD!F+4!&kqh{w%SMR$!pL|KQk+rqkYdo+ut7m#%^nz5)JZoorl?7a$L+ z15WOU855niBtHddEgN!gs&vy2EbG0AQwE-2~F#B z=kStko$&y!44;GS142Y`A2kX?S%Bnk3cN9(y#HsWkEC$GT5u2qeD+6E1lT^zPW zu5z!{&*QiKE`x;wW*KIk+TeA3)ljjrgbG&J6U*=Z=E)}|Wn|v{DAZCx{JN)SF3c@% zG|(XJ@OA!71ORd7z1BVCh?t17hf=30`0Aj)eX)|AN_9lZQYT&Is_$fp9=pkfpxjf? zQ%YG^k}7UFmJ>ZPyq&j@&;;@$bz+b`Yzlp8Asb&&vXgZnp^9T+mma1G_ZB~hFj1?U zf;n@?zUC}dnQLd?dxxUdyI*ZlL8Tr=nTT*)0G*jN&!D(>C$K2Phi@8j-7+Bppu%iw zV=%rkV()7Cb*h@~Jqs!La}!8Fry;842hJ%vNkMf;ynl47Hx`P2*&jU#tr`m&d`rM*t|O8vQ&OH#6XVA=aHC!V_VJ zANReV#Pm5tix@heETDp0g|vqW=kUt_simdLb$M)3XKIbpY()lAq#P*g^}#iId5#j| zskzm@#^rYRPVWxLGUc)zcPga$3V++HXx!S~%xhcLDTyDv>%IC}kOMB`I&}18f7-KLVF=@R!&EkTG9j2 zmwKb|z}QC5!zf81_MsM_J=Z*_Y#3y>3Kyra@w7J`4Mlm3B|DY0W6pT6-D2l>?v_}0 z^0@PD31`?$8_RKhQt0TVZ;B2IF0C=9Da-B5rVMPy8&4ZBPSDV?n9b8X%USHRD3aTu zZw@AK-%`-=cTf48b3Kq~mP@#7*V{GyK(UO?CC-X3{Zh4qpc-f08&ff|N%Zkz^V z%f?G!CNL`o9;54LNT>gt$T!3)PD{fs?oKA;dgy2J@xc5=uTHBNxX^Bzz(U19ydW+Z zuivH7`tTImXqUP$A5$(ic@ht{6Wr>=e!*=7#(J57UeQMV45z%HJgoP%uc&X_0>So$ z*43_Y3y!pUCR}c!WMeN)P;Dz>d6wyEaw9To%yEvo?5ZHm`rt>#wzs40GA`krH;(bj z9X_jj`-RizBeZmi+d*FuP?A7-?vW!LlEMI5M30KbC?bOo<=i>4|2E@=2r&76mS*pz z=QO9vz)Yy=fxFsg{6x)}foBAP$+kY|RncQuH$#^Ao!Nbb_j)IRUTd~9mhB+$_7$7r z@^40%uRuLH|9CfVU!6PspKA~HT_vf)iLkh=o_dOBRdZ*z+4xqSw5TJe82RS zPDB^>zMu?}yMelPuGS@k#bI%lOl`ox#)>pscWj^2=Ta~>+59%@rp1Uhq1Q5PJo7oq z`{r#i3S6T2s@>ADiW7Y{yW7+(a5G?NBoLvZ-&bC;49c^u0%K+y!KCZ=+lR;Yu zI!uYgHuMlQXYX2hL@K=+PLp$^P|aaFlQiG-OA39Z%xPsKa~#QJF>V##OOtH`r5mev zV;m&yH?1*gav|rq@m{LFjEC}>8|@cus2(&s9=H^p7I;hA=niNAh50lYxyR=wQ2q!+L+PK0pbCZf_({yU!J`ZHg2tbq*<3CF3_)9vqy*`mH z@1x`(#e3Hn?(lH+rQnjUX_5Su-~_oQ;8IJVeKy}4hNR{u|0LttjZ>)Nkv@~;B;H?{ zOBhhwpOpOOzJ$tQJ~2HW#-btlLzBkz`B*8SvKpb=e^+sot0h zJ^Ia-EQ^VHx)|witt+qZ34zPF)d8A(Z{wSl1{qoFBx}546*~oE>gtB|PqyNbZ?&-?*DV*s=jXtB$gNJ=) z*tV7<1;dss63Hq-Ocg=E4Rr>9_(RamyU?;^Fc>CaY=m*u@B8(TK>&sL3lIGXRQ(fI zV(tD5S0czFKA{%sH4qErPd+}DBzCP8KW#r^`Rr!e?bG2^9{5`GijlXHS0gS4r-`D}tky9-AEttiTo8>6 z3Bjj8{29e8OVEv9dZ(LDJO!AM{r1;)i-RscGHrTK8?#QjI0z&Hv}(ak@VgkW{_V?xDXH_EbG3RVevT12!9uh)pzFw9jjA3je3o^PMv}h z_VKrj??uCjt+@rF4;w9L*>ub_AJt-1^|%d+A!gYU!4U!}BLU%ZOl%n66gY*p_?p}8 zQpe^%w4VXN*g%#vM_-0Mq{AEJtDapm5Zj1@xHo6>3W;8hnw~DY`R*P+K#(~$EnBi8 zcq0@}$u&Z|xb*m`lvW57>7^H%Ru{sp&(>NG2tK{uZ+!0i(6-dU-p0O{_R@Rb8_&C) zWdYO$U>b{H@^2)p*nhS^cPuaNM?DdnOEvN9sa^0GmSW|{1MGEBJzB0PoO(kLDw zQ7-Y2qjndIZ%NYOTV^iOKr&-nz6VfdX}Ig5OdW$FwKqKU&*h0z`dZ{&TaSN1eR4G( z^A;!Y3P(oyGO`QmoX(G1oXV|ljMX(kVDd)Bp)~Y$g^lZP2eX9c%(@bHWA@8J<|ah>fQZP;>@ ztBaY&STuH1ZX$jHC?h|!g2sjL4Ppu)1g~Wy%e4%K(!eCti^leo5CFHN)+CZhXJ0(a z@Wtt0s%B6>R_-5n$^RpAWbcmT4^^PNfxKO@l?W)6oga1xMU8uyF3Ml|RuVNJ<&t zyG}N$B+!M^umtpml1L%)>?>EqEaeMV=Ck?OL_J~cA38s{CfA>R*tr5CCJ}fbWXb8= zi|eThzV_N3j@(}#rO*x_+; zv}VU%fvngPp>qjrG`}ch)Pairygq*T37`TI3-y0KvHB3v3|FI&v5>v3cSlB3+T`ppoan{oPhV+Wh=4!u?oTMsJ78LeLoqgwNAQ^-qzWy z67*=c{KfbLORlwrq#Vx@1lrhBYYKJ#22^*?r;7E7=XkZYNZM{u{YaL;AqF?G!{J9A zf=a$We_%@TcS<^V{?a?b(_?0pDcF|nfLm9)?pOv0o0~pPEJfMZ})CHk|eo+y`4;$M0d?liiTNq@3(>T7&Tnn2bT@-$?{HZcJN5e~@%&-Nr= z*3h-tEU8MmaC~F+>fr$<)}E`TQFpl&yVFHI7tC;Jo38>Nrm#ePS5~YB)7W_FbI)~J z&5uQ?m$pn=Rk5k5!~JD@(^}7ao;#otS1JzeV_=j%8Q3?IZ@Bt6R4=7}Me)SD>9_QW zPg+A&#*5F$6wi6lKunVG?_Q1YjrYM=d3ECa=k&lQ&flm%tblMr`GoXtx!Frt!h86$ z))(06hAIJMvJ3EXJkl-ry77sC`l)s!(02by8vo;YWBOx_{o(xmc4n>{D6W`E2XeXl zg;p|);M(mP>})3yYPt^Ow9xcs?=vIrIZ1c`E{>ZVt*PlL+TpXfA{pF|XK)acXHI|+HpjRBbY~QqOKdk{cXzKYZ zXWj^3Gb=&RT#Fp7#(6%-Jfc--ax0;e?Yt@k)x&)iMndT`gcHW}88L6@Jy^%|8y-br zX>Negx75>`m?ROVnG6-?_BL&fO67FXeYWKxK7+95@w`kogQGWj*I-omUli-6N;0oTQ*0B;W_bWZ)LCVUJ)^mJ@ygCTR^WHzyVKE$w}P12O&_@%p#0fZDW zoN?HgAKLfL#gT|f1I6rq&b?|@5U}~uYM*T)O)spN#YgW79>D--WhsgR*OrMr1a2bU08OhvviW=Cp?of``v~;T& zLM;PkUH2e10@7}UtvVsgsp_9n;8-Ziq<#9(dhqn-ihEAs5z?3BuP;;X#9*aHsX)>z z^)0l!xAQj6(FyR>Z8(DxhvNehq{h*o;_5I?7_;KR2ICp!;QMtQK81nTtHF6-k*ki5 zAlh^06~gbh&DykZwnfVFGi$&*_fVD$E`)h~zTJ!-!yU?)-d%H!X#&h}kfMS<j5Ap+N0;)7Zd3uvkKWHtb39TiD>`U;D(hNKvdDs+F9I4re%_`v+$?;P^F#5NmGcF z#1b#txinn~nq+^ilFQ8mygmNbu8@UUd^b#TY$YLg&%~Rg_hzQ;)W!#M83G-W~X>|wuD@JP)QW=@}qPN$PpF&!#Ekk8r za4F&5i3jA97+|#@MhVdV_&9fofZ8tI7K7rngr=bCF5H)c%Rm;&KK&}76Bh?or+Ck& z<^de6`){^*{~sOv@6q6QGUcy?ssljELe4yf$$9IY*I@9XmV}JxX>_EuM^7&N5VNec zr+c;lw_d5J`iYue4lq`Y`>O|(Hi7=#yJ*MxBi9vqP_pVbkGsf-2|BNZC-jr!gLHkN(&dkyon^k8_UT{=4? zzbKa;p@%pJyKQf(*b+4Tj>N)Kb>RyzFWU%JGP|~9+8Th}yA(_iQp7p_r@1K0YU7Pb zqeX<6>{j^XmLLmb1xwP%^4J?)8!4-E^RE|XaW_R&$F?N~j8j>m9lIsin%S{YUFE%< zhIn!cOfaqkb++;1c&&mP*$f|C|LmILtuRSwmwn9_0HpLkHyDGHKK%aWbg3n6?^@Q3 zD>AZSk3jea^Z&PGYBW$)jvwgL`5&eXIQ0#{;rzf;^+# z_GR!&NjGo9Ydcd#jNGC6r8&Y%%t#L%57vD=h>g}t5z`q_{;wUdG~S1{hSyuzrnLx`(Cb(udjyv zP}c!^yU7W7bx+JIK1#!KHIRxx$E6azZBJL&OJy0=2xl|mKLSCcl{&R_lyQHb#gd&;$*|Lx+GJl5Z$sqSz z793KNztsx7VffQQ-djHl9c)T`z$OM8TiyVP7$r*v&^J$2LujG& zI{wQgl*R56nY}iwkRBw}{86u*a$YY~BUADm{Wqw$0TXtCbHhpeScXHx0b4^3M+C+Nz+(_BmKhu@Ng23sPh`!lDPhK#iGENE_o+ZL6{0(ju_Mv%~gWqvM=jZXK~ zai}1;oE*2#T{l@bH!~y2mQl*V75nUN;x4Lr;(*p9-@@x47X|68gN2M5PlvKNkR3tK zCQ?jTpp~jy7gFbrqzRx+kS2*JkNzx{wdSJy-T6dQE`DJIAr<< zM)`4zMt{FGaM7|#doQn7^+Gx5N>Mq~fFtjKphmMqPBo58%pE;8<~7itB`ZP;{-Q)A zpK9vgRd zYEL!{y0rb{96LKhOBxt13mlVbO@(nQdIy;nh!2B3&*rcxTQ%Yn?1pl`X+j@P7r8MC zIv?D*4yDy8t3I{bJd`4vRpF$nFoz+4AoSv9IPM17w$(>mp@xKi%ve=J64+m0felfIw0AmF^ANR49hLw&;UK2BKtIqVxZucoPwjbRW z^)vaQhE-{=OVGxr@|_kyu!WvnJ#7=oIPnr`L1q=gjh=yv+C`RP^s*nbWgAR%P~k(H zi7QXZ`WI>a!zPXBgmLJ|Z(q@?ow8x0cJhjzeYhfC@EK787VTLoZ}2tdfMRlI_+E!3 zkW81KjS!2__|C%u&WtVlezLvV1AjnS((x^k#U?Ztx0y0+r*smpWQoq#&Dm(EwF;Oh5pH-+;|wgY}#R^zCM5J~sLzpmbfze+j& z7km4+N9AX3-w%(<1Zv|5E}f45+4KNhI4MhzB?<9|M+LxU8%29^Spx>kqjFy9EAdGP zCfA@Yb$v}&pnkW&zHZS z3aOQ}qhgLRrXcm83tQ?5+}6O2MBI$R9Tig5lk`#8Vp{@G0RR&2XtQEgvEi5st!t8@ zt264SYFbD9tJXya%vs#>kzKXS0wI@%o007RKvX8pa2M63Puo%_f4?kj05HWPw zcJ`&stX2`6-;|^z(p|sQ)Es$uZM7%KH>U}b>hOL#B=(zgK?>#g93S1~2mgwKzs`meV^bPrLfZ>Nl8P&3SOCN){AMJC{GvTCxMKG&^x@o zoI#^>5c7e`Z)a2=mX+BlJR1A%U;sX6UdDa$nZc#O;S@P+X$0$`E(i^?xH}M!q>SyL zgRUwj2$YvB_1H#00`N{LD%E;<>j|{AX0N*yb0ED|4p1d3{>%N z$l_=I7Bkf!*1Rp$4`CKqXNOZGdi(f5dg`9Pok5+|LQl*FCXP|PX|^wsMbOY?DxQ{! zUEH~uyfJ?spS1Hvv`wl|p~&qwEQdgKH0LgMO|A=kw5yI5TpkXu9U1an)& z#r?)k{NoWa`OEVCpJJ-egAMaK$#5|?bgN}mch*Og;e;f~6PGP~5Ey|xX>t;fx))^Y zv0V_Tlo=2XNnuFi(utEz$)P`R+wF)IB9%^Qu_sp33Q|&gm6hx>mI0p{`ZRAV18?S= zhG62jB2KrGH}b+RfkP(I*mo_!cFk-hncEhC;$ zTI@H)+CQ$$RiMznCcct>_iF&rHVsH(?9P^=o&Sk*DiE}!JvxQt)sxKbX2yrNBGhLb zIH;2$IhIJr4nDJqj2jiz&zIhhE8MnFAO!nZ@_?}-Z2!%SL^yIxkHbr!R$8?CyL zzc+)H0!A4bOvRP6lmb%K;cPAmPu2!lSrHUJ5^WvV_zv&KV)y-M6Z!rPzdOe28zCWY z9s$0OtiW7s0+)GL^RbelSCI_1ms(DUq~yI-hFJ#~N^rrZGlNeNvcQ7B_J>20~!FlX>v! z5s7b_=hL~+ZtHgRJDT^mVL?7K_wKpOlyaz3rO36^+8_xnK_G%V73U_)zH2lN1ZQ5a zu;upMeqliI`BiAN4ixuqOYYCfk$3*>zROWRX)BTum>jEVRrdQWaM|oigT0bn+(rS7 z7s=$=*?OYpPT|K;##(I6zGc*`czLv@cQ{9ZUn5@%-c4U7XRl_3!s^pA(jU|dk_@R% z0%Dp6^;9j`xdgc{wqMbpz-Xne6@PPD9O0hKVDezrRwo(6Yjnc3{W}K_^Co%<<$n86 zl|ZHS{Kv6XeSI>jiWNsO^8;Gr6{21IsJ;B|j4gDuCYhtm=!|S#(cP%kk{a z-eCh=H4R=}X&<@e!w2UQJJ}%S#gf+hOt6;DrQSM4VKXiyFHlnI#ME-eyr%FkEUBrC zN)}ZBGelt#;llYsx)5|Q?!1PWz=@+3C8E-&bP&aB=Kx7T9Md*cA7cR1VmJfdR0fyRI7$$IdxRPceSM2?;rko;1u@oCeM0!Ko;wRdK z26NCh-;NUJQpC-T+;*d&QmGbqJ}L!9hP*wJ&**+TV7%p67~)Zv$DW81Ao=4ysc~}H zfL3XN)FrrMgBx8)OlQ^OkH%oZKF?-j`Cw?>99kwW$pfl014*^L@mq7rqj8WAfVvfO zhm;0n={C(0n@Ax@fZG5xnEUslM5Mu@5LV#yHpo`!-+AU}!M|Ws-;{r-J;YpEF|&VW z85ae1r^m{hWfV7ptGb~~0NLR;OwE)5T}9;Oi4LW6LG<(zTC=Nh`GC;-KH@xtiDrz? zu-0i~oY>yZ2GywWi+&|^{vw(;e4poOAK{aX8*wJ_Futm;bVR>7qV{Y|JdKk=ZO zJI``=wUknUxEaIgIsD1AWj~DP#h&-$W7UvwLt0)nfaNd)+|hvC0f5=bVkABGLjUU2 zUx#8NAS&w#Na7DUJs%Lt-4zdGmv$L!sOm|Eiev{_9(Hi4C=|h0i^ihFnjY);c z%}b9jJKit}|C)dP$#wUhG=9^TD^szqcPd@)w_KgR6}%vCmScZ)=62-A)#vw5`941v z1KtnISf6E$Ws-3lX>Ihn6zi&0Y1Y>C>b{_I^XxN@8%vMK`e$CxI5n?~*Vzs{HhXq) z^=X6G{j61Q+~QPg*qayclt`Vu9q|l;7B2Je<_Gg+9z75nJ~4a0#`N5Ab-*bM&NiAL zyAwgs7hRfrWQ)5UQI}cO5DCoI`sEg7v-e*j=z6~FY=0E=*@I&*#Zb}0W;J2Uet_h2 zEZ>nqPOBCp16osNiJMl#=o7hp>x9f0bqqSisU9k4YYVU4cmPods+&)f4HWHWVpNLs z&|}|~5Ka{-_4i2E+FGvB6HYxW?h- zqiV90O{88ILn9gtg*}WFd+84gEK;SgDXGt;O63MDRV?0V=%V!~Z=+>a>#!o0ne?ky zX}izYFINxMW3W*EgdAgGfpsfC?1|G;q7@kttM$i)GpHmB{9mK$u*?XJ`67;_FDsWD zN-v8O>1(T}u=E!_>6b2*>F~U{-s#4$(uXTYn`e`5bI~BYQF`=p{v}r~sj1wqXNN7XH!&~Snd|aWwT;65MM|lLm9l50_Y(i-!L8K@tpzow_@V|`GWo9Klpbg zuK<-C|IrX=SvBBlD2t2cEF#C#60rM&t5V>|HZuW3b5&)ntSF=m%)18*8dd`^g2J5^ z^T>@8p#DMy*M6-pdRU15+IWk7&YWV2d z4f-S*jB%yxmyLVBN-F>HKl^|F7k_`c|89c+e{J#aO8$2f{9m?h{{D3T-30$?6Z~DU z|E~4_u659#KI7j&!vD+a^8fwM{qH9D7qjnvk+=c5%n!HuPqPY~UR*MmOsXPsfS|l+ zSU3KnIhV4hC|d}SsuHr5%BTK;9!3yg2!!EtMUC>MT(8WiUcaDS_A#vkGgS=)Hly9( z6SKI*2T?|!Ii!RdC18xas5lCWU1BWC#GzwZN*K(jaB4n!G`^eh!R4*3=M!JDFT-@^ zDN=`3nA4nYI-a-?gO4|)QWztpwt<=XI1c)KdNP7vIP#L}SgnsRg@CxFm~!<(g;C;) zm(~ldgJgK>f&7uE>uVyQjgSfoNW;55h*QF?KkJ*JI1ZWQGm<(g{poGdkdn7e2f}_n z>Givs3YxnlE9y0^Aj$>mffAK>Hu=Ksxq<8M1caLG&767H+hOk6{ECGrY@YVe^ULYU zHE%bnGFzkef@_jlR;m&Yu{twtb~6a~!Xb=ynF^=|p zz(?RIL1A~YQ$F1&7gFuz0|t|Wz7GfjTo5|3mXE%< zvu^qL-hfsrsVh!$H?BJ>@?Fg{%ov)Q!&R(fT@Tw`)#ns4@NHp$5d%Eg>4E6ab0ac* zw@qL*x>-vdBA$~lrYpu*r92R`cE4*iQ;`>!bEgRXUP!orJk952|3RI z8FqhGc1!v7NDA5?A!{w{PX`$Zf4Cr(ccGIkk8$rLWA*7k_@b@mTkn@Jtinos9z8}` zd7>;$Yj39>ujsOh5X*Tb07a)nK*8Gd)Tb^ZS_T!5ym%12-CD5egUj?*JwxY!cb}rZ zIG?;|U%t|@-S;@U&W;za4s$8Ei6cs)E^Xn*`<7@1%y1jn&aQ0gw6+hQ0v82S89O39 zsB;${am|=aJ^P@!ehV2=I}@&#?60@>z-_2~A_Yj!e&Yc{fJ*cJRq3BRD=*9pFu--|(ZJmpMI+Y%aeuwWv9Z?1 z@oEmVxV_dgdHimkq~*ghWXP;>JhRIA8P)gR>QEuqyWxshaq}~PZFXAqVOMXgg5ems z3Ylv{)?0c$l8UYe9Gy*pj;wjUc4UK03y2;_AFdF)7|r^jbL9~kGdfpZEDFxRPtRW! z@qJBrbp2quK;}G|Nx{%yJ~;1{SH45lPMk$W3XMS$#B`99!y#)bemzHsq0(4PkIVB- z`^lXFnftQWF;y04<#ah)j1W6Skx&5w1gfZx{6(lq(V}5;?P)yLBD- zLK4_5I$#U*a_1dK8N?uUHCZzM4!Ms0Z65&K;{LOVFe1RF5aN?qIIh6eNMu|(x;$vL zxlv?57_sNdM@Jk1zK(S+H8y0iFIURT&BJN*JVPh~1HsGs~W zbIRKj2j{K!>?Bk7TA$a*`RW4bKj_&_DZL(HxGY{F@uIcnfr%AeMg#Oo8P01(%E5ux zt^rQ3I*h0xnmVs~$Qj{%Vbjw`Gq3-ir^{*o>Vu1Uin6`-E6;D;y4vaP(gf@G;JHyR zVqCCRe(R=;|7f#!zPRr&{n*WNCsk%~)UfwhQGh~Q#qEpirF+BPbTo{u0TL1p3&%}D z%+m19wb9QKarW~QV@`Xx+Tz|pB8~L%UAR)u^1Cbj-|nI!a{$sb;Ly_B1Do@dva*vZ zZszh`2zC?YPky${4r)NvnGFZ^jaBYIx)ZtGjDOP?B>cAS_d85iJoAqZQ$>Vwhjwu9 z2fx5`R8Ec!HgfPVvC}wf)p@+wU-!pL;kmPeMCSPlbX)doVJO)3Zif0Jw?|Rv19L!7 z^LYm7a@^O=0HrZ2f=otW%IA+u_$u(HUH=WwTH5e~F>CDUpUySMocvs#syp8yb!)$h}T&=wQGv&>DZ0wos#lxC6Pox=IE4+(w zskJMSvX*Zu8}|of!{us2S>H^u$_I_E(Nke7cegpvkY6dQe;fcwK;5|h>=!>q7~ow< z;4vk#yGIWlGf+3jea&PX&@To<*pW;iIeUZ7pmRfc;uTV4EMV$}^jWQy`89D9N%BW% z%hUn9t8$0Jo6xG;q^oQgXXkv z7gr}_CaE%>$k{%5P`j_>zfysczrEp&at_WbOinwMPZhj*(E0Z^^k{x~H3G8e+> zaDd*Yo$Cout(8tPRY+e({7nm<*mt`;<^EhUn7YSh&*YA3y)_t*+#uG!h>1RSCh5u! zj_#$!bf`QlRTD20x=?zHZl;BS7ODqZVRe=HG+TaTSN6GfX#0o9@@WFHmSvYem4iKp zuc)IX-U?fk^Nl{bH)v3|)P=vFc_sf_0kJ@$E6{MQ0LjGu3|L1nyJS&@@||hM z$9JaE0$OTd2*IbYVcUZ#gNt{g6c(!N@FcMz;PJ4za*2;3=4CtKuM^ss!Az-0bR4pH zLfoPP8&zEnWY+UYD08Di;;Vh^Dm2b~Kde~AeoGh5U7l-5GiutPnNAWt#S{7D=w!Bri;DKE3IwL*!(Wpi4)b6t14E7xUMpb?Q6-@`2Lx3L-O{}6~d z0N%>9p)?vY69=6OL2˳GW4=oM}3Ks@AL<%8{j)Xr-x+352ox9cgi;IivU- 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 Jzn>P?{ReUnu%rM0 literal 271647 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

;Woi;%7YW_!Ch1+;q7i=tGW_5G^&F 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 v|F{3)*Keb7dq54){|i6(ucp Date: Fri, 5 Jun 2026 22:13:45 -0500 Subject: [PATCH 08/18] SARIF --- README.md | 54 +++-- dev/go_over_dev.gleam | 7 +- gleam.toml | 4 +- scripts/target_test.sh | 3 +- src/go_over.gleam | 217 +++++++++++++++--- src/go_over/advisories/advisories.gleam | 7 +- src/go_over/config.gleam | 209 +++++++++++++---- src/go_over/sarif.gleam | 144 ++++++++++++ src/go_over/util/globals.gleam | 37 +-- src/go_over/warning.gleam | 46 ++-- src/go_over/workspace.gleam | 53 +++++ ...st@test_testdata_gleam_basic_toml.accepted | 6 +- ...st@test_testdata_gleam_empty_toml.accepted | 6 +- ...est@test_testdata_gleam_full_toml.accepted | 6 +- ..._testdata_gleam_indirect_new_toml.accepted | 6 +- ...@test_testdata_gleam_partial_toml.accepted | 6 +- .../erlang@spin_up_test@empty.accepted | 6 +- .../erlang@spin_up_test@force.accepted | 6 +- ...lang@spin_up_test@format=detailed.accepted | 6 +- .../erlang@spin_up_test@format=json.accepted | 6 +- ...rlang@spin_up_test@format=minimal.accepted | 6 +- ...lang@spin_up_test@ignore_indirect.accepted | 6 +- .../erlang@spin_up_test@outdated.accepted | 2 + .../erlang@spin_up_test@verbose.accepted | 6 +- ...lang@warning@git_deps_to_warnings.accepted | 16 ++ ...rlang@warning@outdated_to_warning.accepted | 25 -- ...rmat_as_json@git_deps_to_warnings.accepted | 18 ++ ...ormat_as_json@outdated_to_warning.accepted | 27 --- ...ng_format_as_sarif@adv_to_warning.accepted | 81 +++++++ ...g_format_as_sarif@info_to_warning.accepted | 39 ++++ ...at_as_string@git_deps_to_warnings.accepted | 15 ++ ...mat_as_string@outdated_to_warning.accepted | 24 -- ...ring_minimal@git_deps_to_warnings.accepted | 9 + ...tring_minimal@outdated_to_warning.accepted | 18 -- ...st@test_testdata_gleam_basic_toml.accepted | 6 +- ...st@test_testdata_gleam_empty_toml.accepted | 6 +- ...est@test_testdata_gleam_full_toml.accepted | 6 +- ..._testdata_gleam_indirect_new_toml.accepted | 6 +- ...@test_testdata_gleam_partial_toml.accepted | 6 +- .../javascript@spin_up_test@empty.accepted | 6 +- .../javascript@spin_up_test@force.accepted | 6 +- ...ript@spin_up_test@format=detailed.accepted | 6 +- ...vascript@spin_up_test@format=json.accepted | 6 +- ...cript@spin_up_test@format=minimal.accepted | 6 +- ...ript@spin_up_test@ignore_indirect.accepted | 6 +- .../javascript@spin_up_test@outdated.accepted | 2 + .../javascript@spin_up_test@verbose.accepted | 6 +- ...vascript@warning@info_to_warning.accepted} | 0 ...cript@warning@outdated_to_warning.accepted | 31 --- ...ng_format_as_json@info_to_warning.accepted | 16 ++ ...ormat_as_json@outdated_to_warning.accepted | 31 --- ...ng_format_as_sarif@adv_to_warning.accepted | 53 +++++ ..._format_as_string@info_to_warning.accepted | 15 ++ ...mat_as_string@outdated_to_warning.accepted | 30 --- ...as_string_minimal@info_to_warning.accepted | 9 + ...tring_minimal@outdated_to_warning.accepted | 24 -- test/config_test.gleam | 49 ++++ test/sources_test.gleam | 2 + .../gleam/dev_dependencies_underscore.toml | 3 + test/testdata/workspace/app_a/gleam.toml | 5 + test/testdata/workspace/app_a/manifest.toml | 6 + test/testdata/workspace/app_b/gleam.toml | 5 + test/testdata/workspace/app_b/manifest.toml | 6 + test/warning_test.gleam | 77 ++++++- test/workspace_test.gleam | 15 ++ 65 files changed, 1169 insertions(+), 409 deletions(-) create mode 100644 src/go_over/sarif.gleam create mode 100644 src/go_over/workspace.gleam create mode 100644 test/birdie_snapshots/erlang@warning@git_deps_to_warnings.accepted delete mode 100644 test/birdie_snapshots/erlang@warning@outdated_to_warning.accepted create mode 100644 test/birdie_snapshots/erlang@warning_format_as_json@git_deps_to_warnings.accepted delete mode 100644 test/birdie_snapshots/erlang@warning_format_as_json@outdated_to_warning.accepted create mode 100644 test/birdie_snapshots/erlang@warning_format_as_sarif@adv_to_warning.accepted create mode 100644 test/birdie_snapshots/erlang@warning_format_as_sarif@info_to_warning.accepted create mode 100644 test/birdie_snapshots/erlang@warning_format_as_string@git_deps_to_warnings.accepted delete mode 100644 test/birdie_snapshots/erlang@warning_format_as_string@outdated_to_warning.accepted create mode 100644 test/birdie_snapshots/erlang@warning_format_as_string_minimal@git_deps_to_warnings.accepted delete mode 100644 test/birdie_snapshots/erlang@warning_format_as_string_minimal@outdated_to_warning.accepted rename test/birdie_snapshots/{javascript@warning@info_to_warning.new => javascript@warning@info_to_warning.accepted} (100%) delete mode 100644 test/birdie_snapshots/javascript@warning@outdated_to_warning.accepted create mode 100644 test/birdie_snapshots/javascript@warning_format_as_json@info_to_warning.accepted delete mode 100644 test/birdie_snapshots/javascript@warning_format_as_json@outdated_to_warning.accepted create mode 100644 test/birdie_snapshots/javascript@warning_format_as_sarif@adv_to_warning.accepted create mode 100644 test/birdie_snapshots/javascript@warning_format_as_string@info_to_warning.accepted delete mode 100644 test/birdie_snapshots/javascript@warning_format_as_string@outdated_to_warning.accepted create mode 100644 test/birdie_snapshots/javascript@warning_format_as_string_minimal@info_to_warning.accepted delete mode 100644 test/birdie_snapshots/javascript@warning_format_as_string_minimal@outdated_to_warning.accepted create mode 100644 test/testdata/gleam/dev_dependencies_underscore.toml create mode 100644 test/testdata/workspace/app_a/gleam.toml create mode 100644 test/testdata/workspace/app_a/manifest.toml create mode 100644 test/testdata/workspace/app_b/gleam.toml create mode 100644 test/testdata/workspace/app_b/manifest.toml create mode 100644 test/workspace_test.gleam diff --git a/README.md b/README.md index 22c4f97..a9d6f1a 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,10 @@ [![gleam js](https://img.shields.io/badge/%20gleam%20%E2%9C%A8-js%20%F0%9F%8C%B8-yellow)](https://gleam.run/news/v0.16-gleam-compiles-to-javascript/) [![gleam erlang](https://img.shields.io/badge/erlang%20%E2%98%8E%EF%B8%8F-red?style=flat&label=gleam%20%E2%9C%A8)](https://gleam.run) -![logo](images/go-over-logo.png) - A tool to audit Erlang & Elixir dependencies, to make sure your ✨ gleam projects really sparkle! -⚠️ Dependencies sourced directly from git or locally have limited support, only -checking for security advisories and not retirements or outdated versions +![logo](https://raw.githubusercontent.com/bwireman/go-over/main/images/go-over-logo.png) # 🔽 Install @@ -52,8 +49,8 @@ gleam run -m go_over ### 🏴 Flags -- `--format` Specify the output format of any warnings, [minimal, verbose, json] - (default: None) +- `--format` Specify the output format of any warnings, [minimal, detailed, json, + sarif] (default: None) - `--puller` Specify the tool used to reach out to hex.pm, [native, curl, wget, httpie] (default: None) - `--force`: Force pulling new data even if the cached data is still valid @@ -61,6 +58,12 @@ gleam run -m go_over command directly - `--ignore-indirect`: Ignore all warnings for indirect dependencies - `--verbose`: Print progress as packages are checked +- `--root PATH`: Audit a single Gleam project at `PATH` (uses + `PATH/gleam.toml` and `PATH/manifest.toml`) +- `--workspace [PATH]`: Audit every Gleam project under `PATH` (default: `.`). + Finds directories containing both `gleam.toml` and `manifest.toml`. +- `--local`: Cache data in the project's `.go-over/` directory +- `--global`: Cache data in the user's home directory (shared across projects) - `--help,-h`: Print help Flags override config values if set @@ -78,7 +81,7 @@ cache = true # allowing cache to be shared between projects # default: true global = true -# sets output format for warnings ["minimal", "detailed", "json"] +# sets output format for warnings ["minimal", "detailed", "json", "sarif"] # default: "minimal" format = "minimal" # [deprecated] runs `gleam deps outdated` — use that command directly instead @@ -130,11 +133,28 @@ actions = [ ## ⚙️ CI -You can also schedule daily runs to keep your deps up to date and open issues -when necessary! -[Example ▶️](https://github.com/bwireman/go-over/blob/main/.github/workflows/deps.yml) +You can schedule daily runs to keep your deps up to date and open issues when +necessary! [Example ▶️](https://github.com/bwireman/go-over/blob/main/.github/workflows/deps.yml) + +```yaml +- run: gleam run -m go_over -- --local +``` + +### SARIF output (GitHub Code Scanning) + +Use `--format sarif` to emit a [SARIF 2.1.0](https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning) log suitable for GitHub's code scanning upload action: + +```yaml +- run: gleam run -m go_over -- --format sarif > go-over.sarif +- uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: go-over.sarif +``` + +In workspace mode (`--workspace`), each Gleam project appears as a separate run +in the SARIF document. -# 🖌️ Other Art +# Other Art - As I'm sure is no surprise this tool is inspired by (and all around worse than) [mirego/mix_audit](https://github.com/mirego/mix_audit). Please check it @@ -142,15 +162,15 @@ when necessary! - It also draws inspiration from [mix hex.audit](https://hexdocs.pm/hex/Mix.Tasks.Hex.Audit.html) -# ⚖️ License +# License -- This tool uses +This tool uses [mirego/elixir-security-advisories](https://github.com/mirego/elixir-security-advisories) which is it self licensed with - - `BSD-3-Clause license` - - `CC-BY 4.0 open source license`. - - See their + - `BSD-3-Clause` + - `CC-BY 4.0 open source` + - See their [#license section](https://github.com/mirego/elixir-security-advisories?tab=readme-ov-file#license) -- Code original to this repo is Licensed under `MIT` +Code original to this repo is Licensed under `MIT` diff --git a/dev/go_over_dev.gleam b/dev/go_over_dev.gleam index cc16c49..331f5da 100644 --- a/dev/go_over_dev.gleam +++ b/dev/go_over_dev.gleam @@ -72,6 +72,11 @@ pub fn main() { gfunction.iff_nil( True, - gfunction.freeze2(go_over.print_warnings, example_warnings, conf), + gfunction.freeze3( + go_over.print_warnings, + example_warnings, + conf, + option.None, + ), ) } diff --git a/gleam.toml b/gleam.toml index 585c8a4..f7847cc 100644 --- a/gleam.toml +++ b/gleam.toml @@ -51,8 +51,8 @@ actions = [ { command = "./scripts/update.sh", kind = "binary" }, { command = "./scripts/target_test.sh", kind = "binary", args = ["erlang"], files = [".erl", ".gleam", "manifest.toml", "gleam.toml"] }, { command = "./scripts/target_test.sh", kind = "binary", args = ["javascript", "node"], files = [".mjs", ".js", ".gleam", "manifest.toml", "gleam.toml"] }, - { command = "./scripts/target_test.sh", kind = "binary", args = ["javascript", "deno"], files = [".mjs", ".js", ".gleam", "manifest.toml", "gleam.toml"] }, - { command = "./scripts/target_test.sh", kind = "binary", args = ["javascript", "bun"], files = [".mjs", ".js", ".gleam", "manifest.toml", "gleam.toml"] }, + { command = "./scripts/target_test.sh", kind = "binary", args = ["javascript", "deno"], files = [".mjs", ".js", "manifest.toml", "gleam.toml"] }, + { command = "./scripts/target_test.sh", kind = "binary", args = ["javascript", "bun"], files = [".mjs", ".js", "manifest.toml", "gleam.toml"] }, ] [go-over] diff --git a/scripts/target_test.sh b/scripts/target_test.sh index cbbc25b..dbea87f 100755 --- a/scripts/target_test.sh +++ b/scripts/target_test.sh @@ -31,10 +31,11 @@ else CMD="--target javascript --runtime $RUNTIME" fi +# shellcheck disable=SC2086 +gleam run $CMD -- --help # shellcheck disable=SC2086 gleam run $CMD -- --force --verbose --puller $PULLER -rm -rf .go-over/outdated snooze 15 # shellcheck disable=SC2086 diff --git a/src/go_over.gleam b/src/go_over.gleam index 1624f96..a4aa061 100644 --- a/src/go_over.gleam +++ b/src/go_over.gleam @@ -1,11 +1,15 @@ +import filepath import gleam/int import gleam/io import gleam/json import gleam/list +import gleam/option +import gleam/result import gleam/string -import go_over/config.{type Config} +import go_over/config.{type Config, type Flags} import go_over/hex/hex import go_over/packages +import go_over/sarif import go_over/sources import go_over/util/constants import go_over/util/globals @@ -13,10 +17,28 @@ import go_over/util/print import go_over/util/spinner import go_over/util/util import go_over/warning.{type Warning} +import go_over/workspace import gxyz/function as gfunction import shellout import simplifile +pub type AuditResult { + AuditResult( + project_root: String, + fatal_warnings: List(Warning), + info_warnings: List(Warning), + outdated_failed: Bool, + format: config.Format, + ) +} + +fn prefix_label(prefix: option.Option(String), label: String) -> String { + case prefix { + option.Some(path) -> "[" <> path <> "] " <> label + option.None -> label + } +} + fn print_warnings_count(vulns: List(Warning), label: String) -> List(Warning) { label |> io.print_error() vulns @@ -26,8 +48,9 @@ fn print_warnings_list( vulns: List(Warning), conf: Config, label: String, + prefix: option.Option(String), ) -> Nil { - let label = warnings_label(vulns, label) + let label = prefix_label(prefix, warnings_label(vulns, label)) case conf.format { config.Minimal -> @@ -44,6 +67,8 @@ fn print_warnings_list( |> json.to_string() |> io.print_error() + config.SARIF -> Nil + _ -> vulns |> print_warnings_count(label) @@ -69,8 +94,12 @@ fn info_label(vulns: List(Warning)) -> String { <> constants.long_ass_dashes } -fn print_info_list(vulns: List(Warning), conf: Config) -> Nil { - let label = info_label(vulns) +fn print_info_list( + vulns: List(Warning), + conf: Config, + prefix: option.Option(String), +) -> Nil { + let label = prefix_label(prefix, info_label(vulns)) case conf.format { config.Minimal -> @@ -87,6 +116,8 @@ fn print_info_list(vulns: List(Warning), conf: Config) -> Nil { |> json.to_string() |> io.print_error() + config.SARIF -> Nil + _ -> vulns |> print_warnings_count(label) @@ -96,27 +127,49 @@ fn print_info_list(vulns: List(Warning), conf: Config) -> Nil { } } -pub fn print_info(vulns: List(Warning), conf: Config) -> Nil { - print_info_list(vulns, conf) +fn print_sarif(results: List(AuditResult)) -> Nil { + let runs = + list.map(results, fn(result) { + #(result.project_root, result.fatal_warnings) + }) + + sarif.to_sarif_log(runs) + |> json.to_string() + |> io.print_error() } -pub fn print_warnings(vulns: List(Warning), conf: Config) -> Nil { - print_warnings_list(vulns, conf, "WARNING") +pub fn print_info( + vulns: List(Warning), + conf: Config, + prefix: option.Option(String), +) -> Nil { + print_info_list(vulns, conf, prefix) +} + +pub fn print_warnings( + vulns: List(Warning), + conf: Config, + prefix: option.Option(String), +) -> Nil { + print_warnings_list(vulns, conf, "WARNING", prefix) shellout.exit(1) } -pub fn main() { - let conf = case - config.spin_up(config.read_config("gleam.toml"), shellout.arguments()) - { - Error(e) -> { - io.println_error(e) - shellout.exit(0) - util.do_panic() - } - Ok(conf) -> conf +pub fn audit_project( + flags: Flags, + project_root: String, +) -> Result(AuditResult, String) { + let gleam_toml = filepath.join(project_root, "gleam.toml") + let manifest_toml = filepath.join(project_root, "manifest.toml") + + let project_config = case simplifile.read(gleam_toml) { + Ok(_) -> config.read_config(gleam_toml) + Error(_) -> config.default_config() } + use conf <- result.try(config.merge_flags_and_config(flags, project_config)) + + globals.set_project_root(project_root) globals.set_verbose(conf.verbose) globals.set_use_global_cache(conf.global) globals.set_force(conf.force) @@ -128,7 +181,7 @@ pub fn main() { ) spinner.set_text_spinner(spinner, "Reading manifest") - let manifest_pkgs = packages.read_manifest("manifest.toml") + let manifest_pkgs = packages.read_manifest(manifest_toml) let pkgs_audited = manifest_pkgs |> config.filter_dev_dependencies(conf, _) @@ -192,30 +245,132 @@ pub fn main() { let outdated_failed = case conf.outdated { False -> False - True -> run_deps_outdated() + True -> run_deps_outdated(project_root) + } + + let info_warnings = + list.append(unnecessary_warnings, warning.git_deps_to_warnings(manifest_pkgs)) + + Ok(AuditResult( + project_root:, + fatal_warnings:, + info_warnings:, + outdated_failed:, + format: conf.format, + )) +} + +pub fn main() { + case config.parse_flags(shellout.arguments()) { + Error(message) -> io.println(message) + Ok(flags) -> run(flags) } +} - case unnecessary_warnings { - [] -> Nil - info -> print_info(info, conf) +fn run(flags: config.Flags) -> Nil { + let workspace_mode = option.is_some(flags.workspace_root) + + let results = case flags.workspace_root { + option.Some(scan_root) -> + case workspace.discover_or_error(scan_root) { + Ok(project_roots) -> + list.map(project_roots, fn(project_root) { + case audit_project(flags, project_root) { + Ok(result) -> result + Error(e) -> { + io.println_error(e) + shellout.exit(1) + util.do_panic() + } + } + }) + Error(e) -> { + io.println_error(e) + shellout.exit(1) + util.do_panic() + } + } + option.None -> { + let project_root = option.unwrap(flags.single_root, ".") + let assert Ok(result) = audit_project(flags, project_root) + [result] + } } - case fatal_warnings, outdated_failed { - [], False -> print.success("✅ No warnings found!") - [], True -> shellout.exit(1) - vulns, _ -> print_warnings(vulns, conf) + let prefix_for = fn(result: AuditResult) { + case workspace_mode { + True -> option.Some(result.project_root) + False -> option.None + } + } + + let display_conf = fn(result: AuditResult) { + config.Config(..config.default_config(), format: result.format) + } + + let sarif_output = list.any(results, fn(r) { r.format == config.SARIF }) + + case sarif_output { + False -> + list.each(results, fn(result) { + case result.info_warnings { + [] -> Nil + info -> print_info(info, display_conf(result), prefix_for(result)) + } + }) + True -> Nil + } + + let any_fatal = list.any(results, fn(r) { !list.is_empty(r.fatal_warnings) }) + let any_outdated_failed = list.any(results, fn(r) { r.outdated_failed }) + + case any_fatal, any_outdated_failed, sarif_output { + False, False, True -> { + print_sarif(results) + Nil + } + False, False, False -> print.success("✅ No warnings found!") + False, True, True -> { + print_sarif(results) + shellout.exit(1) + } + False, True, False -> shellout.exit(1) + True, _, True -> { + print_sarif(results) + shellout.exit(1) + } + True, _, False -> { + list.each(results, fn(result) { + case result.fatal_warnings { + [] -> Nil + vulns -> + print_warnings_list( + vulns, + display_conf(result), + "WARNING", + prefix_for(result), + ) + } + }) + shellout.exit(1) + } } } -fn run_deps_outdated() -> Bool { +fn run_deps_outdated(project_root: String) -> Bool { print.high( "The --outdated flag is deprecated. Use `gleam deps outdated` instead.", ) case - shellout.command(run: "gleam", with: ["deps", "outdated"], in: ".", opt: [ - shellout.LetBeStdout, - ]) + shellout.command( + run: "gleam", + with: ["deps", "outdated"], + in: project_root, + opt: [ + shellout.LetBeStdout, + ], + ) { Ok(_) -> False Error(_) -> True diff --git a/src/go_over/advisories/advisories.gleam b/src/go_over/advisories/advisories.gleam index 182396b..7b3f831 100644 --- a/src/go_over/advisories/advisories.gleam +++ b/src/go_over/advisories/advisories.gleam @@ -1,7 +1,6 @@ import filepath import gleam/list import gleam/option.{None, Some} -import global_value import go_over/advisories/comparisons import go_over/packages.{type Package} import go_over/util/cache @@ -23,10 +22,8 @@ pub type Advisory { } fn advisories_path() -> String { - global_value.create_with_unique_name("advisories.path.global.data", fn() { - globals.go_over_path() - |> filepath.join("mirego-elixir-security-advisories") - }) + globals.go_over_path() + |> filepath.join("mirego-elixir-security-advisories") } @external(erlang, "go_over@ffi", "parse_adv") diff --git a/src/go_over/config.gleam b/src/go_over/config.gleam index a32e580..278a858 100644 --- a/src/go_over/config.gleam +++ b/src/go_over/config.gleam @@ -2,10 +2,9 @@ import clip import clip/arg_info import clip/flag import clip/help -import clip/opt import gleam/dict import gleam/list -import gleam/option.{type Option, Some} +import gleam/option.{type Option, None, Some} import gleam/result import gleam/string import go_over/advisories/advisories.{type Advisory, fetch_all} @@ -25,6 +24,7 @@ pub type Format { Minimal Detailed JSON + SARIF } pub type Config { @@ -42,6 +42,8 @@ pub type Config { ignore_severity: List(String), ignore_ids: List(String), ignore_dev_dependencies: Bool, + single_root: Option(String), + workspace_root: Option(String), ) } @@ -55,9 +57,42 @@ pub type Flags { verbose: Bool, format: option.Option(Format), puller: option.Option(puller.Puller), + single_root: option.Option(String), + workspace_root: option.Option(String), ) } +pub fn default_config() -> Config { + Config( + dev_deps: [], + outdated: False, + ignore_indirect: False, + force: False, + format: Minimal, + verbose: False, + global: True, + puller: puller.default, + allowed_licenses: [], + ignore_packages: [], + ignore_severity: [], + ignore_ids: [], + ignore_dev_dependencies: False, + single_root: option.None, + workspace_root: option.None, + ) +} + +fn read_dev_dependency_names(gleam: dict.Dict(String, Toml)) -> List(String) { + let hyphen = + tom.get_table(gleam, ["dev-dependencies"]) + |> result.unwrap(dict.new()) + let underscore = + tom.get_table(gleam, ["dev_dependencies"]) + |> result.unwrap(dict.new()) + + dict.merge(hyphen, underscore) |> dict.keys() +} + pub fn read_config(path: String) -> Config { let res = simplifile.read(path) @@ -65,10 +100,7 @@ pub fn read_config(path: String) -> Config { let gleam = tom.parse(res) |> cli.hard_fail_with_msg("could not read config file at " <> path) - let dev_deps = - tom.get_table(gleam, ["dev-dependencies"]) - |> result.unwrap(dict.new()) - |> dict.keys() + let dev_deps = read_dev_dependency_names(gleam) let go_over = tom.get_table(gleam, ["go-over"]) @@ -141,6 +173,8 @@ pub fn read_config(path: String) -> Config { ignore_severity:, ignore_ids:, ignore_dev_dependencies:, + single_root: option.None, + workspace_root: option.None, ) } @@ -329,13 +363,14 @@ pub fn unnecessary_ignore_id_warnings( pub fn parse_config_format(val: String) -> option.Option(Format) { case string.lowercase(val) { "json" -> option.Some(JSON) + "sarif" -> option.Some(SARIF) "detailed" -> option.Some(Detailed) "minimal" -> option.Some(Minimal) format -> { print.warning( "Invalid format '" <> format - <> "' valid options are ['json', 'detailed', 'minimal'], defaulting to minimal", + <> "' valid options are ['json', 'sarif', 'detailed', 'minimal'], defaulting to minimal", ) option.None } @@ -377,9 +412,40 @@ const logo = " ____ ____ ____ _ _____ _____ \\__, /\\____/____\\____/|___/\\___/_/ /____/ /_____/" +const help_named_opts = [ + arg_info.NamedInfo( + name: "format", + short: option.None, + default: option.None, + help: option.Some( + "Specify the output format of any warnings, [minimal, detailed, json, sarif]", + ), + ), + arg_info.NamedInfo( + name: "puller", + short: option.None, + default: option.None, + help: option.Some( + "Specify the tool used to reach out to hex.pm, [native, curl, wget, httpie]", + ), + ), + arg_info.NamedInfo( + name: "root", + short: option.None, + default: option.None, + help: option.Some("Audit a single Gleam project at PATH"), + ), + arg_info.NamedInfo( + name: "workspace", + short: option.None, + default: option.None, + help: option.Some("Audit all Gleam projects under PATH (defaults to .)"), + ), +] + fn help_message(args: arg_info.ArgInfo) -> String { arg_info.ArgInfo( - named: args.named, + named: list.append(help_named_opts, args.named), positional: args.positional, flags: args.flags, subcommands: args.subcommands, @@ -393,6 +459,19 @@ fn help_message(args: arg_info.ArgInfo) -> String { |> string.crop(" ") } +pub fn normalize_workspace_argv(argv: List(String)) -> List(String) { + case argv { + ["--workspace", next, ..rest] -> + case string.starts_with(next, "-") { + True -> ["--workspace", ".", ..rest] + False -> argv + } + ["--workspace", ..rest] -> ["--workspace", ".", ..rest] + [head, ..rest] -> [head, ..normalize_workspace_argv(rest)] + [] -> [] + } +} + pub fn merge_flags_and_config( flags: Flags, cfg: Config, @@ -403,6 +482,12 @@ pub fn merge_flags_and_config( } use _ <- result.try(invalid) + let invalid = case flags.single_root, flags.workspace_root { + option.Some(_), option.Some(_) -> Error("cannot set --root and --workspace") + _, _ -> Ok(Nil) + } + use _ <- result.try(invalid) + let global = case flags.global, flags.local, cfg.global { True, False, _ -> True False, True, _ -> False @@ -424,10 +509,46 @@ pub fn merge_flags_and_config( ignore_severity: cfg.ignore_severity, ignore_ids: cfg.ignore_ids, ignore_dev_dependencies: cfg.ignore_dev_dependencies, + single_root: flags.single_root, + workspace_root: flags.workspace_root, )) } -pub fn spin_up(cfg: Config, argv: List(String)) -> Result(Config, String) { +fn take_named_opts( + argv: List(String), +) -> #( + Option(String), + Option(String), + Option(String), + Option(String), + List(String), +) { + case argv { + ["--format", value, ..rest] -> { + let #(_, puller, root, workspace, remaining) = take_named_opts(rest) + #(Some(value), puller, root, workspace, remaining) + } + ["--puller", value, ..rest] -> { + let #(format, _, root, workspace, remaining) = take_named_opts(rest) + #(format, Some(value), root, workspace, remaining) + } + ["--root", value, ..rest] -> { + let #(format, puller, _, workspace, remaining) = take_named_opts(rest) + #(format, puller, Some(value), workspace, remaining) + } + ["--workspace", value, ..rest] -> { + let #(format, puller, root, _, remaining) = take_named_opts(rest) + #(format, puller, root, Some(value), remaining) + } + [head, ..rest] -> { + let #(format, puller, root, workspace, remaining) = take_named_opts(rest) + #(format, puller, root, workspace, [head, ..remaining]) + } + [] -> #(None, None, None, None, []) + } +} + +fn clip_command() { clip.command({ use force <- clip.parameter use outdated <- clip.parameter @@ -435,21 +556,18 @@ pub fn spin_up(cfg: Config, argv: List(String)) -> Result(Config, String) { use global <- clip.parameter use local <- clip.parameter use verbose <- clip.parameter - use format <- clip.parameter - use puller <- clip.parameter - - merge_flags_and_config( - Flags( - force:, - outdated:, - ignore_indirect:, - verbose:, - format:, - global:, - local:, - puller:, - ), - cfg, + + Flags( + force:, + outdated:, + ignore_indirect:, + verbose:, + format: option.None, + global:, + local:, + puller: option.None, + single_root: option.None, + workspace_root: option.None, ) }) |> clip.flag(flag.help( @@ -470,29 +588,34 @@ pub fn spin_up(cfg: Config, argv: List(String)) -> Result(Config, String) { )) |> clip.flag(flag.help( flag.new("local"), - "Cache data local in user's home directory for use only by this project", + "Cache data in the project's .go-over/ directory for use only by this project", )) |> clip.flag(flag.help( flag.new("verbose"), "Print progress as packages are checked", )) - |> clip.opt( - opt.new("format") - |> opt.help( - "Specify the output format of any warnings, [minimal, verbose, json]", - ) - |> opt.map(parse_config_format) - |> opt.default(option.None), - ) - |> clip.opt( - opt.new("puller") - |> opt.help( - "Specify the tool used to reach out to hex.pm, [native, curl, wget, httpie]", - ) - |> opt.map(parse_puller) - |> opt.default(option.None), - ) |> clip.help(help.custom(help_message)) - |> clip.run(cli.strip_js_from_argv(argv)) - |> result.flatten +} + +pub fn parse_flags(argv: List(String)) -> Result(Flags, String) { + let argv = normalize_workspace_argv(argv) + let #(format, puller, single_root, workspace_root, argv) = take_named_opts(argv) + + use base <- result.try( + clip_command() + |> clip.run(cli.strip_js_from_argv(argv)), + ) + + Ok(Flags( + ..base, + format: option.map(format, parse_config_format) |> option.flatten, + puller: option.map(puller, parse_puller) |> option.flatten, + single_root:, + workspace_root:, + )) +} + +pub fn spin_up(cfg: Config, argv: List(String)) -> Result(Config, String) { + use flags <- result.try(parse_flags(argv)) + merge_flags_and_config(flags, cfg) } diff --git a/src/go_over/sarif.gleam b/src/go_over/sarif.gleam new file mode 100644 index 0000000..7142760 --- /dev/null +++ b/src/go_over/sarif.gleam @@ -0,0 +1,144 @@ +import filepath +import gleam/json.{type Json, int, object, preprocessed_array, string} +import gleam/list +import gleam/option +import go_over/util/constants +import go_over/warning.{ + type Severity, type Warning, SeverityCritical, SeverityHigh, SeverityInfo, + SeverityLow, SeverityModerate, SeverityPackageRetiredDeprecated, + SeverityPackageRetiredInvalid, SeverityPackageRetiredOtherReason, + SeverityPackageRetiredRenamed, SeverityPackageRetiredSecurity, + SeverityRejectedLicense, SeverityUnknown, WarningReasonInfo, + WarningReasonRejectedLicense, WarningReasonRetired, WarningReasonVulnerable, + is_info, severity_as_string, +} + +const schema = "https://json.schemastore.org/sarif-2.1.0.json" + +pub fn to_sarif_log(runs: List(#(String, List(Warning)))) -> Json { + object([ + #("$schema", string(schema)), + #("version", string("2.1.0")), + #( + "runs", + runs + |> list.map(fn(run) { + let #(project_root, warnings) = run + to_sarif_run(project_root, warnings) + }) + |> preprocessed_array(), + ), + ]) +} + +pub fn to_sarif_run(project_root: String, warnings: List(Warning)) -> Json { + let warnings = list.filter(warnings, fn(w) { !is_info(w) }) + let rules = build_rules(warnings) + let results = list.map(warnings, fn(w) { to_result(w, project_root) }) + + object([ + #( + "tool", + object([ + #( + "driver", + object([ + #("name", string("go_over")), + #("version", string(constants.version)), + #("rules", rules), + ]), + ), + ]), + ), + #("results", preprocessed_array(results)), + ]) +} + +fn build_rules(warnings: List(Warning)) -> Json { + warnings + |> list.map(rule_id) + |> list.unique() + |> list.map(fn(id) { + object([ + #("id", string(id)), + #("shortDescription", object([#("text", string(id))])), + ]) + }) + |> preprocessed_array() +} + +fn to_result(w: Warning, project_root: String) -> Json { + let manifest_uri = filepath.join(project_root, "manifest.toml") + + object([ + #("ruleId", string(rule_id(w))), + #("level", string(sarif_level(w.severity))), + #( + "message", + object([ + #( + "text", + string( + w.package + <> option.map(w.version, fn(v) { "@" <> v }) + |> option.unwrap("") + <> ": " + <> w.reason, + ), + ), + ]), + ), + #( + "locations", + preprocessed_array([ + object([ + #( + "physicalLocation", + object([ + #("artifactLocation", object([#("uri", string(manifest_uri))])), + #( + "region", + object([ + #("startLine", int(1)), + #("startColumn", int(1)), + ]), + ), + ]), + ), + ]), + ]), + ), + ]) +} + +fn rule_id(w: Warning) -> String { + case w.advisory_id { + option.Some(id) -> id + option.None -> + case w.warning_reason_code { + WarningReasonVulnerable -> "go-over/vulnerable" + WarningReasonRetired -> "go-over/retired" + WarningReasonRejectedLicense(_) -> "go-over/rejected-license" + WarningReasonInfo -> "go-over/info" + } + <> ":" + <> severity_as_string(w.severity) + } +} + +fn sarif_level(severity: Severity) -> String { + case severity { + SeverityCritical + | SeverityHigh + | SeverityPackageRetiredSecurity + | SeverityRejectedLicense -> "error" + SeverityModerate + | SeverityPackageRetiredRenamed + | SeverityPackageRetiredDeprecated -> "warning" + SeverityLow + | SeverityPackageRetiredInvalid + | SeverityPackageRetiredOtherReason(_) + | SeverityInfo + | SeverityUnknown(_) -> "note" + } +} diff --git a/src/go_over/util/globals.gleam b/src/go_over/util/globals.gleam index 6b7148f..72fe1f5 100644 --- a/src/go_over/util/globals.gleam +++ b/src/go_over/util/globals.gleam @@ -3,25 +3,28 @@ import filepath import global_value import gxyz/cli import gxyz/function -import simplifile + +const project_root_key = "project_root.global.data" + +pub fn set_project_root(root: String) -> String { + global_value.create_with_unique_name(project_root_key, function.freeze(root)) +} + +pub fn project_root() -> String { + global_value.create_with_unique_name(project_root_key, function.freeze(".")) +} pub fn go_over_path() -> String { - global_value.create_with_unique_name("go_over_path.global.data", fn() { - let #(path, name) = case use_global_cache() { - True -> #( - directories.cache_dir() - |> cli.hard_fail_with_msg("could not get cache directory"), - "go-over", - ) - False -> #( - simplifile.current_directory() - |> cli.hard_fail_with_msg("could not get current directory"), - ".go-over", - ) - } - - filepath.join(path, name) - }) + let #(path, name) = case use_global_cache() { + True -> #( + directories.cache_dir() + |> cli.hard_fail_with_msg("could not get cache directory"), + "go-over", + ) + False -> #(project_root(), ".go-over") + } + + filepath.join(path, name) } const verbose_key = "verbose.global.data" diff --git a/src/go_over/warning.gleam b/src/go_over/warning.gleam index 004e090..c658d1c 100644 --- a/src/go_over/warning.gleam +++ b/src/go_over/warning.gleam @@ -1,17 +1,16 @@ import gleam/hexpm.{type ReleaseRetirement} -import gleam/json.{type Json, object, string} +import gleam/json.{type Json, nullable, object, string} import gleam/list import gleam/option.{type Option, None, Some} import gleam/string import go_over/advisories/advisories.{type Advisory} import go_over/hex/core -import go_over/packages.{type Package} +import go_over/packages.{type Package, PackageSourceGit} import go_over/util/print pub type WarningReasonCode { WarningReasonRetired WarningReasonVulnerable - WarningReasonOutdated WarningReasonRejectedLicense(name: String) WarningReasonInfo } @@ -20,7 +19,6 @@ fn warning_reason_code_as_string(w: WarningReasonCode) -> String { case w { WarningReasonRetired -> "Retired" WarningReasonVulnerable -> "Vulnerable" - WarningReasonOutdated -> "Outdated" WarningReasonRejectedLicense(name) -> "Rejected License (" <> name <> ")" WarningReasonInfo -> "Info" } @@ -32,7 +30,6 @@ pub type Severity { SeverityPackageRetiredDeprecated SeverityPackageRetiredRenamed SeverityPackageRetiredOtherReason(reason: String) - SeverityPackageOutdated SeverityRejectedLicense SeverityCritical SeverityHigh @@ -50,7 +47,6 @@ pub fn severity_as_string(s: Severity) -> String { SeverityPackageRetiredRenamed -> "package-retired:renamed" SeverityPackageRetiredOtherReason(reason) -> "package-retired:" <> string.lowercase(reason) - SeverityPackageOutdated -> "package-outdated" SeverityRejectedLicense -> "rejected-license" SeverityCritical -> "critical" SeverityHigh -> "high" @@ -69,7 +65,6 @@ pub fn string_to_severity(s: String) -> Severity { "package-retired:deprecated" -> SeverityPackageRetiredDeprecated "package-retired:renamed" -> SeverityPackageRetiredRenamed "package-retired:" <> v -> SeverityPackageRetiredOtherReason(v) - "package-outdated" -> SeverityPackageOutdated "rejected-license" -> SeverityRejectedLicense "critical" -> SeverityCritical "high" -> SeverityHigh @@ -150,18 +145,6 @@ pub fn retired_to_warning(pkg: Package, ret: ReleaseRetirement) -> Warning { ) } -pub fn outdated_to_warning(pkg: Package, new_version: String) -> Warning { - Warning( - None, - pkg.name, - Some(pkg.version_raw), - "New Version: '" <> new_version <> "' exists", - WarningReasonOutdated, - SeverityPackageOutdated, - dep_code_from_bool(pkg.direct), - ) -} - pub fn rejected_license_to_warning(pkg: Package, license: String) -> Warning { Warning( None, @@ -186,6 +169,24 @@ pub fn info_to_warning(target: String, reason: String) -> Warning { ) } +pub fn git_deps_to_warnings(pkgs: List(Package)) -> List(Warning) { + let git_names = + pkgs + |> list.filter(fn(p) { p.source == PackageSourceGit }) + |> list.map(fn(p) { p.name }) + + case git_names { + [] -> [] + names -> [ + info_to_warning( + "git-dependencies", + "Info: git dependencies have limited support (retirement and license checks are not performed): " + <> string.join(names, ", "), + ), + ] + } +} + pub fn is_info(w: Warning) -> Bool { case w.severity { SeverityInfo -> True @@ -221,9 +222,9 @@ pub fn format_as_string_minimal(w: Warning) -> String { pub fn format_as_json(w: Warning) -> Json { object([ - #("id", json.nullable(w.advisory_id, string)), + #("id", nullable(w.advisory_id, string)), #("package", string(w.package)), - #("version", json.nullable(w.version, string)), + #("version", nullable(w.version, string)), #( "warning_reason", string(warning_reason_code_as_string(w.warning_reason_code)), @@ -241,8 +242,7 @@ fn color(w: Warning, str: String) { SeverityHigh | SeverityRejectedLicense -> print.format_high(str) SeverityModerate | SeverityPackageRetiredRenamed - | SeverityPackageRetiredDeprecated - | SeverityPackageOutdated -> print.format_moderate(str) + | SeverityPackageRetiredDeprecated -> print.format_moderate(str) SeverityLow | SeverityPackageRetiredInvalid -> print.format_low(str) SeverityInfo -> print.format_high(str) SeverityUnknown(_) | SeverityPackageRetiredOtherReason(_) -> diff --git a/src/go_over/workspace.gleam b/src/go_over/workspace.gleam new file mode 100644 index 0000000..2e4c92b --- /dev/null +++ b/src/go_over/workspace.gleam @@ -0,0 +1,53 @@ +import filepath +import gleam/list +import gleam/order +import gleam/string +import simplifile + +const skip_dirs = ["build", "deps", "node_modules", ".go-over", ".git"] + +fn is_project_dir(dir: String) -> Bool { + let gleam_toml = filepath.join(dir, "gleam.toml") + let manifest = filepath.join(dir, "manifest.toml") + + case simplifile.is_file(gleam_toml), simplifile.is_file(manifest) { + Ok(True), Ok(True) -> True + _, _ -> False + } +} + +fn should_skip(name: String) -> Bool { + string.starts_with(name, ".") || list.contains(skip_dirs, name) +} + +fn do_discover(dir: String) -> List(String) { + case is_project_dir(dir) { + True -> [dir] + False -> + case simplifile.read_directory(dir) { + Ok(names) -> + names + |> list.filter(fn(name) { !should_skip(name) }) + |> list.flat_map(fn(name) { do_discover(filepath.join(dir, name)) }) + Error(_) -> [] + } + } +} + +pub fn discover(scan_root: String) -> List(String) { + do_discover(scan_root) + |> list.sort(fn(a, b) { + case string.compare(a, b) { + order.Eq -> order.Eq + order.Lt -> order.Lt + order.Gt -> order.Gt + } + }) +} + +pub fn discover_or_error(scan_root: String) -> Result(List(String), String) { + case discover(scan_root) { + [] -> Error("no gleam projects found under " <> scan_root) + projects -> Ok(projects) + } +} diff --git a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_basic_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_basic_toml.accepted index 269c9f1..7543bc0 100644 --- a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_basic_toml.accepted +++ b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_basic_toml.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@conf_test@test/testdata/gleam/basic.toml --- Config( @@ -16,4 +16,6 @@ Config( ["b"], ["c"], False, -) \ No newline at end of file + None, + None, +) diff --git a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_empty_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_empty_toml.accepted index 7cf4087..dccc72b 100644 --- a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_empty_toml.accepted +++ b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_empty_toml.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@conf_test@test/testdata/gleam/empty.toml --- Config( @@ -16,4 +16,6 @@ Config( [], [], False, -) \ No newline at end of file + None, + None, +) diff --git a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_full_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_full_toml.accepted index 3f1d049..0e4d894 100644 --- a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_full_toml.accepted +++ b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_full_toml.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@conf_test@test/testdata/gleam/full.toml --- Config( @@ -16,4 +16,6 @@ Config( ["critical", "high"], ["a", "b"], True, -) \ No newline at end of file + None, + None, +) diff --git a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_indirect_new_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_indirect_new_toml.accepted index d908cd1..5d93d1a 100644 --- a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_indirect_new_toml.accepted +++ b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_indirect_new_toml.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@conf_test@test/testdata/gleam/indirect_new.toml --- Config( @@ -16,4 +16,6 @@ Config( [], [], False, -) \ No newline at end of file + None, + None, +) diff --git a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_partial_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_partial_toml.accepted index e9e5983..d9e611b 100644 --- a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_partial_toml.accepted +++ b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_partial_toml.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@conf_test@test/testdata/gleam/partial.toml --- Config( @@ -16,4 +16,6 @@ Config( [], [], False, -) \ No newline at end of file + None, + None, +) diff --git a/test/birdie_snapshots/erlang@spin_up_test@empty.accepted b/test/birdie_snapshots/erlang@spin_up_test@empty.accepted index 5bd21c6..7f597e6 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@empty.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@empty.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@spin_up_test@empty --- #( @@ -18,5 +18,7 @@ title: Erlang@spin_up_test@empty [], [], False, + None, + None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/erlang@spin_up_test@force.accepted b/test/birdie_snapshots/erlang@spin_up_test@force.accepted index 1c07609..11a6725 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@force.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@force.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@spin_up_test@force --- #( @@ -18,5 +18,7 @@ title: Erlang@spin_up_test@force [], [], False, + None, + None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/erlang@spin_up_test@format=detailed.accepted b/test/birdie_snapshots/erlang@spin_up_test@format=detailed.accepted index 1eb024e..7670e90 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@format=detailed.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@format=detailed.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@spin_up_test@format=detailed --- #( @@ -18,5 +18,7 @@ title: Erlang@spin_up_test@format=detailed [], [], False, + None, + None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/erlang@spin_up_test@format=json.accepted b/test/birdie_snapshots/erlang@spin_up_test@format=json.accepted index 377ba09..7d95614 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@format=json.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@format=json.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@spin_up_test@format=json --- #( @@ -18,5 +18,7 @@ title: Erlang@spin_up_test@format=json [], [], False, + None, + None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/erlang@spin_up_test@format=minimal.accepted b/test/birdie_snapshots/erlang@spin_up_test@format=minimal.accepted index b5a5bc5..ab31724 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@format=minimal.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@format=minimal.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@spin_up_test@format=minimal --- #( @@ -18,5 +18,7 @@ title: Erlang@spin_up_test@format=minimal [], [], False, + None, + None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/erlang@spin_up_test@ignore_indirect.accepted b/test/birdie_snapshots/erlang@spin_up_test@ignore_indirect.accepted index 815bb21..fd7ddfe 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@ignore_indirect.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@ignore_indirect.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@spin_up_test@ignore_indirect --- #( @@ -18,5 +18,7 @@ title: Erlang@spin_up_test@ignore_indirect [], [], False, + None, + None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/erlang@spin_up_test@outdated.accepted b/test/birdie_snapshots/erlang@spin_up_test@outdated.accepted index 60690c8..07309d2 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@outdated.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@outdated.accepted @@ -18,5 +18,7 @@ title: Erlang@spin_up_test@outdated [], [], False, + None, + None, ), ) diff --git a/test/birdie_snapshots/erlang@spin_up_test@verbose.accepted b/test/birdie_snapshots/erlang@spin_up_test@verbose.accepted index 11a604f..71c994f 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@verbose.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@verbose.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@spin_up_test@verbose --- #( @@ -18,5 +18,7 @@ title: Erlang@spin_up_test@verbose [], [], False, + None, + None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/erlang@warning@git_deps_to_warnings.accepted b/test/birdie_snapshots/erlang@warning@git_deps_to_warnings.accepted new file mode 100644 index 0000000..f306945 --- /dev/null +++ b/test/birdie_snapshots/erlang@warning@git_deps_to_warnings.accepted @@ -0,0 +1,16 @@ +--- +version: 2.0.0 +title: Erlang@warning@git_deps_to_warnings +--- +#( + "c", + Warning( + None, + "git-dependencies", + None, + "Info: git dependencies have limited support (retirement and license checks are not performed): c", + WarningReasonInfo, + SeverityInfo, + DirectDep, + ), +) diff --git a/test/birdie_snapshots/erlang@warning@outdated_to_warning.accepted b/test/birdie_snapshots/erlang@warning@outdated_to_warning.accepted deleted file mode 100644 index 71c45c9..0000000 --- a/test/birdie_snapshots/erlang@warning@outdated_to_warning.accepted +++ /dev/null @@ -1,25 +0,0 @@ ---- -version: 1.3.1 -title: Erlang@warning@outdated_to_warning ---- -#( - #( - Package( - "package for warning tests", - SemVer(1, 2, 3, "pre", "build"), - "pre1.2.3-build", - True, - PackageSourceHex, - ), - "1.2.3", - ), - Warning( - None, - "package for warning tests", - Some("pre1.2.3-build"), - "New Version: '1.2.3' exists", - WarningReasonOutdated, - SeverityPackageOutdated, - DirectDep, - ), -) \ No newline at end of file diff --git a/test/birdie_snapshots/erlang@warning_format_as_json@git_deps_to_warnings.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@git_deps_to_warnings.accepted new file mode 100644 index 0000000..4220907 --- /dev/null +++ b/test/birdie_snapshots/erlang@warning_format_as_json@git_deps_to_warnings.accepted @@ -0,0 +1,18 @@ +--- +version: 2.0.0 +title: Erlang@warning_format_as_json@git_deps_to_warnings +--- +#( + "c", + " +{ +"id": null, +"package": "git-dependencies", +"version": null, +"warning_reason": "Info", +"dependency_type": "Direct", +"severity": "info", +"reason": "Info: git dependencies have limited support (retirement and license checks are not performed): c" +} +", +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_json@outdated_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_json@outdated_to_warning.accepted deleted file mode 100644 index a5dcd2e..0000000 --- a/test/birdie_snapshots/erlang@warning_format_as_json@outdated_to_warning.accepted +++ /dev/null @@ -1,27 +0,0 @@ ---- -version: 1.3.1 -title: Erlang@warning_format_as_json@outdated_to_warning ---- -#( - #( - Package( - "package for warning tests", - SemVer(1, 2, 3, "pre", "build"), - "pre1.2.3-build", - True, - PackageSourceHex, - ), - "1.2.3", - ), - " -{ -"id": null, -"package": "package for warning tests", -"version": "pre1.2.3-build", -"warning_reason": "Outdated", -"dependency_type": "Direct", -"severity": "package-outdated", -"reason": "New Version: '1.2.3' exists" -} -", -) \ No newline at end of file diff --git a/test/birdie_snapshots/erlang@warning_format_as_sarif@adv_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_sarif@adv_to_warning.accepted new file mode 100644 index 0000000..2917f9f --- /dev/null +++ b/test/birdie_snapshots/erlang@warning_format_as_sarif@adv_to_warning.accepted @@ -0,0 +1,81 @@ +--- +version: 2.0.0 +title: Erlang@warning_format_as_sarif@adv_to_warning +--- +#( + Warning( + Some("GHSA-test-1234"), + "package for warning tests", + Some("pre1.2.3-build"), + "example vulnerability", + WarningReasonVulnerable, + SeverityHigh, + DirectDep, + ), + " +{ +"tool": +{ +"driver": +{ +"name": "go_over", +"version": "3.4.0", +"rules": +[ + +{ +"id": "GHSA-test-1234", +"shortDescription": +{ +"text": "GHSA-test-1234" +} + +} + +] + +} + +} +, +"results": +[ + +{ +"ruleId": "GHSA-test-1234", +"level": "error", +"message": +{ +"text": "package for warning tests@pre1.2.3-build: example vulnerability" +} +, +"locations": +[ + +{ +"physicalLocation": +{ +"artifactLocation": +{ +"uri": "backend/manifest.toml" +} +, +"region": +{ +"startLine": 1, +"startColumn": 1 +} + +} + +} + +] + +} + +] + +} +", +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_sarif@info_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_sarif@info_to_warning.accepted new file mode 100644 index 0000000..30bc920 --- /dev/null +++ b/test/birdie_snapshots/erlang@warning_format_as_sarif@info_to_warning.accepted @@ -0,0 +1,39 @@ +--- +version: 2.0.0 +title: Erlang@warning_format_as_sarif@info_to_warning +--- +#( + Warning( + None, + "missing-package", + None, + "Info: package 'missing-package' is not a dependency", + WarningReasonInfo, + SeverityInfo, + DirectDep, + ), + " +{ +"tool": +{ +"driver": +{ +"name": "go_over", +"version": "3.4.0", +"rules": +[ + +] + +} + +} +, +"results": +[ + +] + +} +", +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string@git_deps_to_warnings.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@git_deps_to_warnings.accepted new file mode 100644 index 0000000..3160f06 --- /dev/null +++ b/test/birdie_snapshots/erlang@warning_format_as_string@git_deps_to_warnings.accepted @@ -0,0 +1,15 @@ +--- +version: 2.0.0 +title: Erlang@warning_format_as_string@git_deps_to_warnings +--- +#( + "c", + "ID: null +Package: git-dependencies +Version: null +WarningReason: Info +Dependency Type: Direct +Severity: info +Reason: Info: git dependencies have limited support (retirement and license checks are not performed): c +", +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string@outdated_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@outdated_to_warning.accepted deleted file mode 100644 index 1854bb6..0000000 --- a/test/birdie_snapshots/erlang@warning_format_as_string@outdated_to_warning.accepted +++ /dev/null @@ -1,24 +0,0 @@ ---- -version: 1.3.1 -title: Erlang@warning_format_as_string@outdated_to_warning ---- -#( - #( - Package( - "package for warning tests", - SemVer(1, 2, 3, "pre", "build"), - "pre1.2.3-build", - True, - PackageSourceHex, - ), - "1.2.3", - ), - "ID: null -Package: package for warning tests -Version: pre1.2.3-build -WarningReason: Outdated -Dependency Type: Direct -Severity: package-outdated -Reason: New Version: '1.2.3' exists -", -) \ No newline at end of file diff --git a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@git_deps_to_warnings.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@git_deps_to_warnings.accepted new file mode 100644 index 0000000..e2dd794 --- /dev/null +++ b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@git_deps_to_warnings.accepted @@ -0,0 +1,9 @@ +--- +version: 2.0.0 +title: Erlang@warning_format_as_string_minimal@git_deps_to_warnings +--- +#( + "c", + "git-dependencies: info +", +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@outdated_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@outdated_to_warning.accepted deleted file mode 100644 index 0d77cd4..0000000 --- a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@outdated_to_warning.accepted +++ /dev/null @@ -1,18 +0,0 @@ ---- -version: 1.3.1 -title: Erlang@warning_format_as_string_minimal@outdated_to_warning ---- -#( - #( - Package( - "package for warning tests", - SemVer(1, 2, 3, "pre", "build"), - "pre1.2.3-build", - True, - PackageSourceHex, - ), - "1.2.3", - ), - "package for warning tests-pre1.2.3-build: package-outdated -", -) \ No newline at end of file diff --git a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_basic_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_basic_toml.accepted index 33d1fba..33f60ab 100644 --- a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_basic_toml.accepted +++ b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_basic_toml.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@conf_test@test/testdata/gleam/basic.toml --- Config( @@ -16,4 +16,6 @@ Config( ignore_severity: ["b"], ignore_ids: ["c"], ignore_dev_dependencies: False, -) \ No newline at end of file + single_root: None, + workspace_root: None, +) diff --git a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_empty_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_empty_toml.accepted index b7dba75..812ff1e 100644 --- a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_empty_toml.accepted +++ b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_empty_toml.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@conf_test@test/testdata/gleam/empty.toml --- Config( @@ -16,4 +16,6 @@ Config( ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, -) \ No newline at end of file + single_root: None, + workspace_root: None, +) diff --git a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_full_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_full_toml.accepted index edcc03f..6ec83f4 100644 --- a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_full_toml.accepted +++ b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_full_toml.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@conf_test@test/testdata/gleam/full.toml --- Config( @@ -16,4 +16,6 @@ Config( ignore_severity: ["critical", "high"], ignore_ids: ["a", "b"], ignore_dev_dependencies: True, -) \ No newline at end of file + single_root: None, + workspace_root: None, +) diff --git a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_indirect_new_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_indirect_new_toml.accepted index 5237fd5..0379dfe 100644 --- a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_indirect_new_toml.accepted +++ b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_indirect_new_toml.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@conf_test@test/testdata/gleam/indirect_new.toml --- Config( @@ -16,4 +16,6 @@ Config( ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, -) \ No newline at end of file + single_root: None, + workspace_root: None, +) diff --git a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_partial_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_partial_toml.accepted index 2bf1c14..4dd3415 100644 --- a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_partial_toml.accepted +++ b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_partial_toml.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@conf_test@test/testdata/gleam/partial.toml --- Config( @@ -16,4 +16,6 @@ Config( ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, -) \ No newline at end of file + single_root: None, + workspace_root: None, +) diff --git a/test/birdie_snapshots/javascript@spin_up_test@empty.accepted b/test/birdie_snapshots/javascript@spin_up_test@empty.accepted index 7b47107..54a83c8 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@empty.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@empty.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@spin_up_test@empty --- #( @@ -18,5 +18,7 @@ title: Javascript@spin_up_test@empty ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + single_root: None, + workspace_root: None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/javascript@spin_up_test@force.accepted b/test/birdie_snapshots/javascript@spin_up_test@force.accepted index 873f3f7..b70b27f 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@force.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@force.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@spin_up_test@force --- #( @@ -18,5 +18,7 @@ title: Javascript@spin_up_test@force ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + single_root: None, + workspace_root: None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/javascript@spin_up_test@format=detailed.accepted b/test/birdie_snapshots/javascript@spin_up_test@format=detailed.accepted index f84da40..3dbc139 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@format=detailed.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@format=detailed.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@spin_up_test@format=detailed --- #( @@ -18,5 +18,7 @@ title: Javascript@spin_up_test@format=detailed ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + single_root: None, + workspace_root: None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/javascript@spin_up_test@format=json.accepted b/test/birdie_snapshots/javascript@spin_up_test@format=json.accepted index 92ddb33..af98f67 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@format=json.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@format=json.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@spin_up_test@format=json --- #( @@ -18,5 +18,7 @@ title: Javascript@spin_up_test@format=json ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + single_root: None, + workspace_root: None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/javascript@spin_up_test@format=minimal.accepted b/test/birdie_snapshots/javascript@spin_up_test@format=minimal.accepted index 747a25d..beade0e 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@format=minimal.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@format=minimal.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@spin_up_test@format=minimal --- #( @@ -18,5 +18,7 @@ title: Javascript@spin_up_test@format=minimal ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + single_root: None, + workspace_root: None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/javascript@spin_up_test@ignore_indirect.accepted b/test/birdie_snapshots/javascript@spin_up_test@ignore_indirect.accepted index 44fffdc..60f933b 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@ignore_indirect.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@ignore_indirect.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@spin_up_test@ignore_indirect --- #( @@ -18,5 +18,7 @@ title: Javascript@spin_up_test@ignore_indirect ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + single_root: None, + workspace_root: None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/javascript@spin_up_test@outdated.accepted b/test/birdie_snapshots/javascript@spin_up_test@outdated.accepted index 71086a1..991b69d 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@outdated.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@outdated.accepted @@ -18,5 +18,7 @@ title: Javascript@spin_up_test@outdated ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + single_root: None, + workspace_root: None, ), ) diff --git a/test/birdie_snapshots/javascript@spin_up_test@verbose.accepted b/test/birdie_snapshots/javascript@spin_up_test@verbose.accepted index 866dda3..eafa009 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@verbose.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@verbose.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@spin_up_test@verbose --- #( @@ -18,5 +18,7 @@ title: Javascript@spin_up_test@verbose ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + single_root: None, + workspace_root: None, ), -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/javascript@warning@info_to_warning.new b/test/birdie_snapshots/javascript@warning@info_to_warning.accepted similarity index 100% rename from test/birdie_snapshots/javascript@warning@info_to_warning.new rename to test/birdie_snapshots/javascript@warning@info_to_warning.accepted diff --git a/test/birdie_snapshots/javascript@warning@outdated_to_warning.accepted b/test/birdie_snapshots/javascript@warning@outdated_to_warning.accepted deleted file mode 100644 index dc1a280..0000000 --- a/test/birdie_snapshots/javascript@warning@outdated_to_warning.accepted +++ /dev/null @@ -1,31 +0,0 @@ ---- -version: 1.3.1 -title: Javascript@warning@outdated_to_warning ---- -#( - #( - Package( - name: "package for warning tests", - version: SemVer( - major: 1, - minor: 2, - patch: 3, - pre: "pre", - build: "build", - ), - version_raw: "pre1.2.3-build", - direct: True, - source: PackageSourceHex, - ), - "1.2.3", - ), - Warning( - advisory_id: None, - package: "package for warning tests", - version: Some("pre1.2.3-build"), - reason: "New Version: '1.2.3' exists", - warning_reason_code: WarningReasonOutdated, - severity: SeverityPackageOutdated, - dep: DirectDep, - ), -) \ No newline at end of file diff --git a/test/birdie_snapshots/javascript@warning_format_as_json@info_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@info_to_warning.accepted new file mode 100644 index 0000000..1741f7c --- /dev/null +++ b/test/birdie_snapshots/javascript@warning_format_as_json@info_to_warning.accepted @@ -0,0 +1,16 @@ +--- +version: 2.0.0 +title: Javascript@warning_format_as_json@info_to_warning +--- +#( + "missing-package", + "{ + "id": null, + "package": "missing-package", + "version": null, + "warning_reason": "Info", + "dependency_type": "Direct", + "severity": "info", + "reason": "Info: package 'missing-package' is not a dependency" +}", +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_json@outdated_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@outdated_to_warning.accepted deleted file mode 100644 index 4a7bd49..0000000 --- a/test/birdie_snapshots/javascript@warning_format_as_json@outdated_to_warning.accepted +++ /dev/null @@ -1,31 +0,0 @@ ---- -version: 1.3.1 -title: Javascript@warning_format_as_json@outdated_to_warning ---- -#( - #( - Package( - name: "package for warning tests", - version: SemVer( - major: 1, - minor: 2, - patch: 3, - pre: "pre", - build: "build", - ), - version_raw: "pre1.2.3-build", - direct: True, - source: PackageSourceHex, - ), - "1.2.3", - ), - "{ - "id": null, - "package": "package for warning tests", - "version": "pre1.2.3-build", - "warning_reason": "Outdated", - "dependency_type": "Direct", - "severity": "package-outdated", - "reason": "New Version: '1.2.3' exists" -}", -) \ No newline at end of file diff --git a/test/birdie_snapshots/javascript@warning_format_as_sarif@adv_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_sarif@adv_to_warning.accepted new file mode 100644 index 0000000..64cec13 --- /dev/null +++ b/test/birdie_snapshots/javascript@warning_format_as_sarif@adv_to_warning.accepted @@ -0,0 +1,53 @@ +--- +version: 2.0.0 +title: Javascript@warning_format_as_sarif@adv_to_warning +--- +#( + Warning( + advisory_id: Some("GHSA-test-1234"), + package: "package for warning tests", + version: Some("pre1.2.3-build"), + reason: "example vulnerability", + warning_reason_code: WarningReasonVulnerable, + severity: SeverityHigh, + dep: DirectDep, + ), + "{ + "tool": { + "driver": { + "name": "go_over", + "version": "3.4.0", + "rules": [ + { + "id": "GHSA-test-1234", + "shortDescription": { + "text": "GHSA-test-1234" + } + } + ] + } + }, + "results": [ + { + "ruleId": "GHSA-test-1234", + "level": "error", + "message": { + "text": "package for warning tests@pre1.2.3-build: example vulnerability" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "backend/manifest.toml" + }, + "region": { + "startLine": 1, + "startColumn": 1 + } + } + } + ] + } + ] +}", +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string@info_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@info_to_warning.accepted new file mode 100644 index 0000000..c0f9247 --- /dev/null +++ b/test/birdie_snapshots/javascript@warning_format_as_string@info_to_warning.accepted @@ -0,0 +1,15 @@ +--- +version: 2.0.0 +title: Javascript@warning_format_as_string@info_to_warning +--- +#( + "missing-package", + "ID: null +Package: missing-package +Version: null +WarningReason: Info +Dependency Type: Direct +Severity: info +Reason: Info: package 'missing-package' is not a dependency +", +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string@outdated_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@outdated_to_warning.accepted deleted file mode 100644 index 6064373..0000000 --- a/test/birdie_snapshots/javascript@warning_format_as_string@outdated_to_warning.accepted +++ /dev/null @@ -1,30 +0,0 @@ ---- -version: 1.3.1 -title: Javascript@warning_format_as_string@outdated_to_warning ---- -#( - #( - Package( - name: "package for warning tests", - version: SemVer( - major: 1, - minor: 2, - patch: 3, - pre: "pre", - build: "build", - ), - version_raw: "pre1.2.3-build", - direct: True, - source: PackageSourceHex, - ), - "1.2.3", - ), - "ID: null -Package: package for warning tests -Version: pre1.2.3-build -WarningReason: Outdated -Dependency Type: Direct -Severity: package-outdated -Reason: New Version: '1.2.3' exists -", -) \ No newline at end of file diff --git a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@info_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@info_to_warning.accepted new file mode 100644 index 0000000..2868391 --- /dev/null +++ b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@info_to_warning.accepted @@ -0,0 +1,9 @@ +--- +version: 2.0.0 +title: Javascript@warning_format_as_string_minimal@info_to_warning +--- +#( + "missing-package", + "missing-package: info +", +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@outdated_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@outdated_to_warning.accepted deleted file mode 100644 index 23b3851..0000000 --- a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@outdated_to_warning.accepted +++ /dev/null @@ -1,24 +0,0 @@ ---- -version: 1.3.1 -title: Javascript@warning_format_as_string_minimal@outdated_to_warning ---- -#( - #( - Package( - name: "package for warning tests", - version: SemVer( - major: 1, - minor: 2, - patch: 3, - pre: "pre", - build: "build", - ), - version_raw: "pre1.2.3-build", - direct: True, - source: PackageSourceHex, - ), - "1.2.3", - ), - "package for warning tests-pre1.2.3-build: package-outdated -", -) \ No newline at end of file diff --git a/test/config_test.gleam b/test/config_test.gleam index d60efe0..15e5015 100644 --- a/test/config_test.gleam +++ b/test/config_test.gleam @@ -1,3 +1,4 @@ +import gleam/list import gleam/option.{None} import gleamsver.{parse} import go_over/advisories/advisories.{Advisory} @@ -220,6 +221,8 @@ const empty_flags = config.Flags( global: False, local: False, puller: option.None, + single_root: option.None, + workspace_root: option.None, ) pub fn merge_flags_and_config_flags_only_test() { @@ -509,3 +512,49 @@ pub fn merge_flags_and_config_both_test() { ) == Ok(config.Config(..empty_conf(), global: False)) } + +pub fn read_dev_dependencies_underscore_test() { + let conf = read_config("test/testdata/gleam/dev_dependencies_underscore.toml") + assert list.length(conf.dev_deps) == 2 + assert list.contains(conf.dev_deps, "gleeunit") + assert list.contains(conf.dev_deps, "birdie") +} + +pub fn normalize_workspace_argv_test() { + assert config.normalize_workspace_argv(["--workspace"]) + == ["--workspace", "."] + assert config.normalize_workspace_argv(["--workspace", "backend"]) + == ["--workspace", "backend"] +} + +pub fn spin_up_root_test() { + let assert Ok(conf) = + empty_conf() + |> config.spin_up(["--root", "backend"]) + + assert conf.single_root == option.Some("backend") + assert conf.workspace_root == option.None +} + +pub fn spin_up_workspace_test() { + let assert Ok(conf) = + empty_conf() + |> config.spin_up(["--workspace", "monorepo"]) + + assert conf.workspace_root == option.Some("monorepo") + assert conf.single_root == option.None +} + +pub fn merge_root_and_workspace_error_test() { + let assert Error(msg) = + config.merge_flags_and_config( + config.Flags( + ..empty_flags, + single_root: option.Some("a"), + workspace_root: option.Some("b"), + ), + empty_conf(), + ) + + assert msg == "cannot set --root and --workspace" +} diff --git a/test/sources_test.gleam b/test/sources_test.gleam index 1c325b3..979499f 100644 --- a/test/sources_test.gleam +++ b/test/sources_test.gleam @@ -22,6 +22,8 @@ const conf = Config( ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + single_root: option.None, + workspace_root: option.None, ) const pkgs = [ diff --git a/test/testdata/gleam/dev_dependencies_underscore.toml b/test/testdata/gleam/dev_dependencies_underscore.toml new file mode 100644 index 0000000..f914426 --- /dev/null +++ b/test/testdata/gleam/dev_dependencies_underscore.toml @@ -0,0 +1,3 @@ +[dev_dependencies] +gleeunit = ">= 1.0.0 and < 2.0.0" +birdie = ">= 2.0.0 and < 3.0.0" diff --git a/test/testdata/workspace/app_a/gleam.toml b/test/testdata/workspace/app_a/gleam.toml new file mode 100644 index 0000000..abe4103 --- /dev/null +++ b/test/testdata/workspace/app_a/gleam.toml @@ -0,0 +1,5 @@ +name = "app_a" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace/app_a/manifest.toml b/test/testdata/workspace/app_a/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace/app_a/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/testdata/workspace/app_b/gleam.toml b/test/testdata/workspace/app_b/gleam.toml new file mode 100644 index 0000000..1741694 --- /dev/null +++ b/test/testdata/workspace/app_b/gleam.toml @@ -0,0 +1,5 @@ +name = "app_b" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace/app_b/manifest.toml b/test/testdata/workspace/app_b/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace/app_b/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/warning_test.gleam b/test/warning_test.gleam index 72d5577..d3d3fa1 100644 --- a/test/warning_test.gleam +++ b/test/warning_test.gleam @@ -5,7 +5,8 @@ import gleam/option import gleam/string import gleamsver.{SemVer} import go_over/advisories/advisories.{Advisory} -import go_over/packages.{Package, PackageSourceHex} +import go_over/packages.{Package, PackageSourceGit, PackageSourceHex} +import go_over/sarif import go_over/warning.{type Warning} import go_over_test @@ -173,13 +174,31 @@ pub fn retired_to_warning_test() { } } -pub fn outdated_to_warning_test() { - let ver = "1.2.3" +pub fn sarif_format_test() { + let warning = + warning.adv_to_warning(example_package, [ + Advisory( + "GHSA-test-1234", + "package for warning tests", + "high", + [], + "example vulnerability", + ), + ]) + |> list.first + |> fn(r) { + case r { + Ok(w) -> w + Error(_) -> panic as "expected warning" + } + } - to_warning_format( - "outdated_to_warning", - #(example_package, ver), - warning.outdated_to_warning(example_package, ver), + go_over_test.birdie_snap_with_input( + sarif.to_sarif_run("backend", [warning]) + |> json.to_string() + |> pprint_json(), + warning, + "warning_format_as_sarif@adv_to_warning", ) } @@ -194,6 +213,46 @@ pub fn info_to_warning_test() { ) } +pub fn git_deps_to_warnings_test() { + to_warning_format( + "git_deps_to_warnings", + "c", + warning.git_deps_to_warnings([ + Package( + "a", + SemVer(1, 0, 0, "", ""), + "1.0.0", + True, + PackageSourceHex, + ), + Package("c", SemVer(0, 1, 0, "", ""), "0.1.0", False, PackageSourceGit), + ]) + |> list.first + |> fn(r) { + case r { + Ok(w) -> w + Error(_) -> panic as "expected warning" + } + }, + ) +} + +pub fn sarif_excludes_info_warnings_test() { + let info = + warning.info_to_warning( + "missing-package", + "Info: package 'missing-package' is not a dependency", + ) + + go_over_test.birdie_snap_with_input( + sarif.to_sarif_run("backend", [info]) + |> json.to_string() + |> pprint_json(), + info, + "warning_format_as_sarif@info_to_warning", + ) +} + pub fn rejected_license_to_warning_test() { let license = "closed-source-crap" @@ -217,8 +276,6 @@ pub fn severity_as_string_test() { "something", )) == "package-retired:something" - assert warning.severity_as_string(warning.SeverityPackageOutdated) - == "package-outdated" assert warning.severity_as_string(warning.SeverityRejectedLicense) == "rejected-license" assert warning.severity_as_string(warning.SeverityCritical) == "critical" @@ -241,8 +298,6 @@ pub fn string_to_severity_test() { == warning.SeverityPackageRetiredRenamed assert warning.string_to_severity("package-retired:something") == warning.SeverityPackageRetiredOtherReason("something") - assert warning.string_to_severity("package-outdated") - == warning.SeverityPackageOutdated assert warning.string_to_severity("info") == warning.SeverityInfo assert warning.string_to_severity("rejected-license") == warning.SeverityRejectedLicense diff --git a/test/workspace_test.gleam b/test/workspace_test.gleam new file mode 100644 index 0000000..3a5d8d7 --- /dev/null +++ b/test/workspace_test.gleam @@ -0,0 +1,15 @@ +import go_over/workspace + +pub fn discover_workspace_test() { + let projects = workspace.discover("test/testdata/workspace") + + assert projects + == [ + "test/testdata/workspace/app_a", + "test/testdata/workspace/app_b", + ] +} + +pub fn discover_empty_test() { + assert workspace.discover("test/testdata/gleam") == [] +} From b2e39608eab8e8e7c7f96e7c4bfd6738cc965ea3 Mon Sep 17 00:00:00 2001 From: bwireman Date: Fri, 5 Jun 2026 22:13:48 -0500 Subject: [PATCH 09/18] SARIF --- README.md | 25 ++++++++++++++----------- src/go_over.gleam | 5 ++++- src/go_over/config.gleam | 19 +++++++++++-------- test/warning_test.gleam | 22 ++++++++-------------- 4 files changed, 37 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index a9d6f1a..669d363 100644 --- a/README.md +++ b/README.md @@ -49,8 +49,8 @@ gleam run -m go_over ### 🏴 Flags -- `--format` Specify the output format of any warnings, [minimal, detailed, json, - sarif] (default: None) +- `--format` Specify the output format of any warnings, [minimal, detailed, + json, sarif] (default: None) - `--puller` Specify the tool used to reach out to hex.pm, [native, curl, wget, httpie] (default: None) - `--force`: Force pulling new data even if the cached data is still valid @@ -58,8 +58,8 @@ gleam run -m go_over command directly - `--ignore-indirect`: Ignore all warnings for indirect dependencies - `--verbose`: Print progress as packages are checked -- `--root PATH`: Audit a single Gleam project at `PATH` (uses - `PATH/gleam.toml` and `PATH/manifest.toml`) +- `--root PATH`: Audit a single Gleam project at `PATH` (uses `PATH/gleam.toml` + and `PATH/manifest.toml`) - `--workspace [PATH]`: Audit every Gleam project under `PATH` (default: `.`). Finds directories containing both `gleam.toml` and `manifest.toml`. - `--local`: Cache data in the project's `.go-over/` directory @@ -134,7 +134,8 @@ actions = [ ## ⚙️ CI You can schedule daily runs to keep your deps up to date and open issues when -necessary! [Example ▶️](https://github.com/bwireman/go-over/blob/main/.github/workflows/deps.yml) +necessary! +[Example ▶️](https://github.com/bwireman/go-over/blob/main/.github/workflows/deps.yml) ```yaml - run: gleam run -m go_over -- --local @@ -142,7 +143,9 @@ necessary! [Example ▶️](https://github.com/bwireman/go-over/blob/main/.githu ### SARIF output (GitHub Code Scanning) -Use `--format sarif` to emit a [SARIF 2.1.0](https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning) log suitable for GitHub's code scanning upload action: +Use `--format sarif` to emit a +[SARIF 2.1.0](https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning) +log suitable for GitHub's code scanning upload action: ```yaml - run: gleam run -m go_over -- --format sarif > go-over.sarif @@ -165,12 +168,12 @@ in the SARIF document. # License This tool uses - [mirego/elixir-security-advisories](https://github.com/mirego/elixir-security-advisories) - which is it self licensed with +[mirego/elixir-security-advisories](https://github.com/mirego/elixir-security-advisories) +which is it self licensed with - - `BSD-3-Clause` - - `CC-BY 4.0 open source` - - See their +- `BSD-3-Clause` +- `CC-BY 4.0 open source` + - See their [#license section](https://github.com/mirego/elixir-security-advisories?tab=readme-ov-file#license) Code original to this repo is Licensed under `MIT` diff --git a/src/go_over.gleam b/src/go_over.gleam index a4aa061..bc1d55d 100644 --- a/src/go_over.gleam +++ b/src/go_over.gleam @@ -249,7 +249,10 @@ pub fn audit_project( } let info_warnings = - list.append(unnecessary_warnings, warning.git_deps_to_warnings(manifest_pkgs)) + list.append( + unnecessary_warnings, + warning.git_deps_to_warnings(manifest_pkgs), + ) Ok(AuditResult( project_root:, diff --git a/src/go_over/config.gleam b/src/go_over/config.gleam index 278a858..61c0b0d 100644 --- a/src/go_over/config.gleam +++ b/src/go_over/config.gleam @@ -599,20 +599,23 @@ fn clip_command() { pub fn parse_flags(argv: List(String)) -> Result(Flags, String) { let argv = normalize_workspace_argv(argv) - let #(format, puller, single_root, workspace_root, argv) = take_named_opts(argv) + let #(format, puller, single_root, workspace_root, argv) = + take_named_opts(argv) use base <- result.try( clip_command() |> clip.run(cli.strip_js_from_argv(argv)), ) - Ok(Flags( - ..base, - format: option.map(format, parse_config_format) |> option.flatten, - puller: option.map(puller, parse_puller) |> option.flatten, - single_root:, - workspace_root:, - )) + Ok( + Flags( + ..base, + format: option.map(format, parse_config_format) |> option.flatten, + puller: option.map(puller, parse_puller) |> option.flatten, + single_root:, + workspace_root:, + ), + ) } pub fn spin_up(cfg: Config, argv: List(String)) -> Result(Config, String) { diff --git a/test/warning_test.gleam b/test/warning_test.gleam index d3d3fa1..e1eb469 100644 --- a/test/warning_test.gleam +++ b/test/warning_test.gleam @@ -218,22 +218,16 @@ pub fn git_deps_to_warnings_test() { "git_deps_to_warnings", "c", warning.git_deps_to_warnings([ - Package( - "a", - SemVer(1, 0, 0, "", ""), - "1.0.0", - True, - PackageSourceHex, - ), + Package("a", SemVer(1, 0, 0, "", ""), "1.0.0", True, PackageSourceHex), Package("c", SemVer(0, 1, 0, "", ""), "0.1.0", False, PackageSourceGit), ]) - |> list.first - |> fn(r) { - case r { - Ok(w) -> w - Error(_) -> panic as "expected warning" - } - }, + |> list.first + |> fn(r) { + case r { + Ok(w) -> w + Error(_) -> panic as "expected warning" + } + }, ) } From a2772a0466565ba69972640982fdb7ac3082e035 Mon Sep 17 00:00:00 2001 From: bwireman Date: Fri, 5 Jun 2026 22:28:30 -0500 Subject: [PATCH 10/18] more dead code removed --- src/go_over/hex/core.gleam | 10 ++--- src/go_over/hex/hex.gleam | 37 +++++++------------ ..._testdata_hex_empty_licenses_json.accepted | 14 ------- ...enses@test_testdata_hex_full_json.accepted | 14 ------- ...t_testdata_hex_multi_license_json.accepted | 17 --------- ...test_testdata_hex_no_license_json.accepted | 19 ---------- ...es@test_testdata_hex_no_meta_json.accepted | 17 --------- ...test_testdata_hex_no_version_json.accepted | 19 ---------- ...st_testdata_hex_version_null_json.accepted | 14 ------- ..._testdata_hex_empty_licenses_json.accepted | 13 +++++++ ...enses@test_testdata_hex_full_json.accepted | 13 +++++++ ...t_testdata_hex_multi_license_json.accepted | 13 +++++++ ...test_testdata_hex_no_license_json.accepted | 17 +++++++++ ...es@test_testdata_hex_no_meta_json.accepted | 15 ++++++++ ...test_testdata_hex_no_version_json.accepted | 13 +++++++ ..._testdata_hex_empty_licenses_json.accepted | 17 --------- ...enses@test_testdata_hex_full_json.accepted | 17 --------- ...t_testdata_hex_multi_license_json.accepted | 17 --------- ...test_testdata_hex_no_license_json.accepted | 19 ---------- ...es@test_testdata_hex_no_meta_json.accepted | 17 --------- ...test_testdata_hex_no_version_json.accepted | 19 ---------- ...st_testdata_hex_version_null_json.accepted | 17 --------- ..._testdata_hex_empty_licenses_json.accepted | 13 +++++++ ...enses@test_testdata_hex_full_json.accepted | 13 +++++++ ...t_testdata_hex_multi_license_json.accepted | 13 +++++++ ...test_testdata_hex_no_license_json.accepted | 17 +++++++++ ...es@test_testdata_hex_no_meta_json.accepted | 15 ++++++++ ...test_testdata_hex_no_version_json.accepted | 13 +++++++ ...ript@warning@git_deps_to_warnings.accepted | 16 ++++++++ ...rmat_as_json@git_deps_to_warnings.accepted | 16 ++++++++ ...g_format_as_sarif@info_to_warning.accepted | 25 +++++++++++++ ...at_as_string@git_deps_to_warnings.accepted | 15 ++++++++ ...ring_minimal@git_deps_to_warnings.accepted | 9 +++++ test/hex_test.gleam | 12 ++---- test/testdata/hex/empty_licenses.json | 3 +- test/testdata/hex/full.json | 3 +- test/testdata/hex/multi_license.json | 5 +-- test/testdata/hex/no_license.json | 4 +- test/testdata/hex/no_meta.json | 4 +- test/testdata/hex/outdated/outdated.json | 26 ------------- test/testdata/hex/outdated/up_to_date.json | 26 ------------- test/testdata/hex/version_null.json | 6 --- 42 files changed, 277 insertions(+), 345 deletions(-) delete mode 100644 test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted delete mode 100644 test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted delete mode 100644 test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted delete mode 100644 test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted delete mode 100644 test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted delete mode 100644 test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted delete mode 100644 test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted create mode 100644 test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_empty_licenses_json.accepted create mode 100644 test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_full_json.accepted create mode 100644 test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_multi_license_json.accepted create mode 100644 test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_no_license_json.accepted create mode 100644 test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_no_meta_json.accepted create mode 100644 test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_no_version_json.accepted delete mode 100644 test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted delete mode 100644 test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted delete mode 100644 test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted delete mode 100644 test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted delete mode 100644 test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted delete mode 100644 test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted delete mode 100644 test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted create mode 100644 test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_empty_licenses_json.accepted create mode 100644 test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_full_json.accepted create mode 100644 test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_multi_license_json.accepted create mode 100644 test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_no_license_json.accepted create mode 100644 test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_no_meta_json.accepted create mode 100644 test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_no_version_json.accepted create mode 100644 test/birdie_snapshots/javascript@warning@git_deps_to_warnings.accepted create mode 100644 test/birdie_snapshots/javascript@warning_format_as_json@git_deps_to_warnings.accepted create mode 100644 test/birdie_snapshots/javascript@warning_format_as_sarif@info_to_warning.accepted create mode 100644 test/birdie_snapshots/javascript@warning_format_as_string@git_deps_to_warnings.accepted create mode 100644 test/birdie_snapshots/javascript@warning_format_as_string_minimal@git_deps_to_warnings.accepted delete mode 100644 test/testdata/hex/outdated/outdated.json delete mode 100644 test/testdata/hex/outdated/up_to_date.json delete mode 100644 test/testdata/hex/version_null.json diff --git a/src/go_over/hex/core.gleam b/src/go_over/hex/core.gleam index 5913fa2..691bd26 100644 --- a/src/go_over/hex/core.gleam +++ b/src/go_over/hex/core.gleam @@ -13,9 +13,9 @@ pub fn release_path(pkg: packages.Package) -> String { |> filepath.join(pkg.version_raw) } -pub fn hex_info_path(pkg: packages.Package) -> String { +pub fn package_licenses_path(pkg: packages.Package) -> String { globals.go_over_path() - |> filepath.join("hex-info") + |> filepath.join("package-licenses") |> filepath.join(pkg.name) |> filepath.join(pkg.version_raw) } @@ -33,10 +33,10 @@ pub fn release_filename(pkg) -> String { |> filepath.join("resp.json") } -pub fn hex_info_filename(pkg) -> String { +pub fn package_licenses_filename(pkg) -> String { pkg - |> hex_info_path() - |> filepath.join("hex-info-resp.json") + |> package_licenses_path() + |> filepath.join("licenses-resp.json") } pub fn print_ret(ret: ReleaseRetirement) -> String { diff --git a/src/go_over/hex/hex.gleam b/src/go_over/hex/hex.gleam index 135c3e5..7876f0b 100644 --- a/src/go_over/hex/hex.gleam +++ b/src/go_over/hex/hex.gleam @@ -1,7 +1,6 @@ import gleam/dynamic/decode import gleam/json import gleam/list -import gleam/option.{type Option} import go_over/hex/core import go_over/hex/puller import go_over/packages.{type Package} @@ -13,13 +12,9 @@ import gxyz/function as gfunction import gxyz/list as glist import simplifile -pub type HexInfo { - HexInfo(latest_stable_version: Option(String), licenses: List(String)) -} - -fn pull_hex_info(puller: puller.Puller, pkg: Package) -> Nil { - print.progress("Checking latest version: " <> pkg.name <> " From hex.pm") - let pkg_path = core.hex_info_path(pkg) +fn pull_package_licenses(puller: puller.Puller, pkg: Package) -> Nil { + print.progress("Fetching licenses: " <> pkg.name <> " from hex.pm") + let pkg_path = core.package_licenses_path(pkg) let pkg_path_fail = core.pkg_pull_error(pkg, pkg_path) let _ = simplifile.delete(pkg_path) @@ -29,39 +24,33 @@ fn pull_hex_info(puller: puller.Puller, pkg: Package) -> Nil { let resp = core.do_pull_hex(puller, pkg, core.package_url(pkg)) pkg - |> core.hex_info_filename() + |> core.package_licenses_filename() |> simplifile.write(resp) |> cli.hard_fail_with_msg(pkg_path_fail) } -pub fn decode_latest_stable_version_and_licenses( - data: String, -) -> Result(HexInfo, json.DecodeError) { +pub fn decode_licenses(data: String) -> Result(List(String), json.DecodeError) { let decoder = { - use latest_stable_version <- decode.field( - "latest_stable_version", - decode.optional(decode.string), - ) use licenses <- decode.subfield( ["meta", "licenses"], decode.list(decode.string), ) - decode.success(HexInfo(latest_stable_version:, licenses:)) + decode.success(licenses) } json.parse(data, decoder) } -fn pull(puller: puller.Puller, pkg: Package) { +fn fetch_licenses(puller: puller.Puller, pkg: Package) -> List(String) { pkg - |> core.hex_info_path() + |> core.package_licenses_path() |> cache.pull_if_not_cached( constants.hour, - gfunction.freeze2(pull_hex_info, puller, pkg), - pkg.name <> ": latest stable version", + gfunction.freeze2(pull_package_licenses, puller, pkg), + pkg.name <> ": package licenses", ) - let cached_file_name = core.hex_info_filename(pkg) + let cached_file_name = core.package_licenses_filename(pkg) let resp = cached_file_name @@ -69,7 +58,7 @@ fn pull(puller: puller.Puller, pkg: Package) { |> cli.hard_fail_with_msg("failed to read " <> cached_file_name) cli.hard_fail_with_msg( - decode_latest_stable_version_and_licenses(resp), + decode_licenses(resp), "failed to parse " <> cached_file_name, ) } @@ -79,7 +68,7 @@ pub type HexWarningSource { } pub fn package_licenses(puller: puller.Puller, pkg: Package) -> List(String) { - pull(puller, pkg).licenses + fetch_licenses(puller, pkg) } pub fn get_hex_info( diff --git a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted deleted file mode 100644 index 49dfaa6..0000000 --- a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted +++ /dev/null @@ -1,14 +0,0 @@ ---- -version: 1.2.6 -title: Erlang@decode_latest_stable_version_and_licenses@test/testdata/hex/empty_licenses.json ---- -#( - "{ - "meta": { - "licenses": [] - }, - "latest_stable_version": "2.1.0" -} -", - Ok(HexInfo(Some("2.1.0"), [])), -) \ No newline at end of file diff --git a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted deleted file mode 100644 index a3462e5..0000000 --- a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted +++ /dev/null @@ -1,14 +0,0 @@ ---- -version: 1.2.6 -title: Erlang@decode_latest_stable_version_and_licenses@test/testdata/hex/full.json ---- -#( - "{ - "meta": { - "licenses": ["MIT"] - }, - "latest_stable_version": "2.1.0" -} -", - Ok(HexInfo(Some("2.1.0"), ["MIT"])), -) \ No newline at end of file diff --git a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted deleted file mode 100644 index a3299ca..0000000 --- a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted +++ /dev/null @@ -1,17 +0,0 @@ ---- -version: 1.2.6 -title: Erlang@decode_latest_stable_version_and_licenses@test/testdata/hex/multi_license.json ---- -#( - "{ - "meta": { - "licenses": ["foo", "BAR", "baz"] - }, - "latest_stable_version": "2.1.0" -} -", - Ok(HexInfo( - Some("2.1.0"), - ["foo", "BAR", "baz"], - )), -) \ No newline at end of file diff --git a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted deleted file mode 100644 index 6a5a36e..0000000 --- a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted +++ /dev/null @@ -1,19 +0,0 @@ ---- -version: 1.3.0 -title: Erlang@decode_latest_stable_version_and_licenses@test/testdata/hex/no_license.json ---- -#( - "{ - "meta": { - }, - "latest_stable_version": "2.1.0" -} -", - Error(UnableToDecode([ - DecodeError( - "Field", - "Nothing", - ["meta", "licenses"], - ), - ])), -) \ No newline at end of file diff --git a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted deleted file mode 100644 index 77de6b6..0000000 --- a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted +++ /dev/null @@ -1,17 +0,0 @@ ---- -version: 1.3.0 -title: Erlang@decode_latest_stable_version_and_licenses@test/testdata/hex/no_meta.json ---- -#( - "{ - "latest_stable_version": "2.1.0" -} -", - Error(UnableToDecode([ - DecodeError( - "Field", - "Nothing", - ["meta"], - ), - ])), -) \ No newline at end of file diff --git a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted deleted file mode 100644 index 8dcf848..0000000 --- a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted +++ /dev/null @@ -1,19 +0,0 @@ ---- -version: 1.3.0 -title: Erlang@decode_latest_stable_version_and_licenses@test/testdata/hex/no_version.json ---- -#( - "{ - "meta": { - "licenses": ["bin"] - } -} -", - Error(UnableToDecode([ - DecodeError( - "Field", - "Nothing", - ["latest_stable_version"], - ), - ])), -) \ No newline at end of file diff --git a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted b/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted deleted file mode 100644 index 61d860c..0000000 --- a/test/birdie_snapshots/erlang@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted +++ /dev/null @@ -1,14 +0,0 @@ ---- -version: 1.2.6 -title: Erlang@decode_latest_stable_version_and_licenses@test/testdata/hex/version_null.json ---- -#( - "{ - "meta": { - "licenses": ["bin"] - }, - "latest_stable_version": null -} -", - Ok(HexInfo(None, ["bin"])), -) \ No newline at end of file diff --git a/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_empty_licenses_json.accepted b/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_empty_licenses_json.accepted new file mode 100644 index 0000000..650e31f --- /dev/null +++ b/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_empty_licenses_json.accepted @@ -0,0 +1,13 @@ +--- +version: 2.0.0 +title: Erlang@decode_licenses@test/testdata/hex/empty_licenses.json +--- +#( + "{ + "meta": { + "licenses": [] + } +} +", + Ok([]), +) diff --git a/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_full_json.accepted b/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_full_json.accepted new file mode 100644 index 0000000..5cc800a --- /dev/null +++ b/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_full_json.accepted @@ -0,0 +1,13 @@ +--- +version: 2.0.0 +title: Erlang@decode_licenses@test/testdata/hex/full.json +--- +#( + "{ + "meta": { + "licenses": ["MIT"] + } +} +", + Ok(["MIT"]), +) diff --git a/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_multi_license_json.accepted b/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_multi_license_json.accepted new file mode 100644 index 0000000..4d7735c --- /dev/null +++ b/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_multi_license_json.accepted @@ -0,0 +1,13 @@ +--- +version: 2.0.0 +title: Erlang@decode_licenses@test/testdata/hex/multi_license.json +--- +#( + "{ + "meta": { + "licenses": ["MIT", "Apache-2.0"] + } +} +", + Ok(["MIT", "Apache-2.0"]), +) diff --git a/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_no_license_json.accepted b/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_no_license_json.accepted new file mode 100644 index 0000000..03be010 --- /dev/null +++ b/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_no_license_json.accepted @@ -0,0 +1,17 @@ +--- +version: 2.0.0 +title: Erlang@decode_licenses@test/testdata/hex/no_license.json +--- +#( + "{ + "meta": {} +} +", + Error(UnableToDecode([ + DecodeError( + "Field", + "Nothing", + ["meta", "licenses"], + ), + ])), +) diff --git a/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_no_meta_json.accepted b/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_no_meta_json.accepted new file mode 100644 index 0000000..77485b5 --- /dev/null +++ b/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_no_meta_json.accepted @@ -0,0 +1,15 @@ +--- +version: 2.0.0 +title: Erlang@decode_licenses@test/testdata/hex/no_meta.json +--- +#( + "{} +", + Error(UnableToDecode([ + DecodeError( + "Field", + "Nothing", + ["meta"], + ), + ])), +) diff --git a/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_no_version_json.accepted b/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_no_version_json.accepted new file mode 100644 index 0000000..5041407 --- /dev/null +++ b/test/birdie_snapshots/erlang@decode_licenses@test_testdata_hex_no_version_json.accepted @@ -0,0 +1,13 @@ +--- +version: 2.0.0 +title: Erlang@decode_licenses@test/testdata/hex/no_version.json +--- +#( + "{ + "meta": { + "licenses": ["bin"] + } +} +", + Ok(["bin"]), +) diff --git a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted deleted file mode 100644 index 912feba..0000000 --- a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_empty_licenses_json.accepted +++ /dev/null @@ -1,17 +0,0 @@ ---- -version: 1.2.6 -title: Javascript@decode_latest_stable_version_and_licenses@test/testdata/hex/empty_licenses.json ---- -#( - "{ - "meta": { - "licenses": [] - }, - "latest_stable_version": "2.1.0" -} -", - Ok(HexInfo( - latest_stable_version: Some("2.1.0"), - licenses: [], - )), -) \ No newline at end of file diff --git a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted deleted file mode 100644 index 9c5470d..0000000 --- a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_full_json.accepted +++ /dev/null @@ -1,17 +0,0 @@ ---- -version: 1.2.6 -title: Javascript@decode_latest_stable_version_and_licenses@test/testdata/hex/full.json ---- -#( - "{ - "meta": { - "licenses": ["MIT"] - }, - "latest_stable_version": "2.1.0" -} -", - Ok(HexInfo( - latest_stable_version: Some("2.1.0"), - licenses: ["MIT"], - )), -) \ No newline at end of file diff --git a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted deleted file mode 100644 index f2ddf73..0000000 --- a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_multi_license_json.accepted +++ /dev/null @@ -1,17 +0,0 @@ ---- -version: 1.2.6 -title: Javascript@decode_latest_stable_version_and_licenses@test/testdata/hex/multi_license.json ---- -#( - "{ - "meta": { - "licenses": ["foo", "BAR", "baz"] - }, - "latest_stable_version": "2.1.0" -} -", - Ok(HexInfo( - latest_stable_version: Some("2.1.0"), - licenses: ["foo", "BAR", "baz"], - )), -) \ No newline at end of file diff --git a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted deleted file mode 100644 index a879f4a..0000000 --- a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_license_json.accepted +++ /dev/null @@ -1,19 +0,0 @@ ---- -version: 1.3.0 -title: Javascript@decode_latest_stable_version_and_licenses@test/testdata/hex/no_license.json ---- -#( - "{ - "meta": { - }, - "latest_stable_version": "2.1.0" -} -", - Error(UnableToDecode([ - DecodeError( - expected: "Field", - found: "Nothing", - path: ["meta", "licenses"], - ), - ])), -) \ No newline at end of file diff --git a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted deleted file mode 100644 index f233d31..0000000 --- a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_meta_json.accepted +++ /dev/null @@ -1,17 +0,0 @@ ---- -version: 1.3.0 -title: Javascript@decode_latest_stable_version_and_licenses@test/testdata/hex/no_meta.json ---- -#( - "{ - "latest_stable_version": "2.1.0" -} -", - Error(UnableToDecode([ - DecodeError( - expected: "Field", - found: "Nothing", - path: ["meta"], - ), - ])), -) \ No newline at end of file diff --git a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted deleted file mode 100644 index 3c6b85f..0000000 --- a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_no_version_json.accepted +++ /dev/null @@ -1,19 +0,0 @@ ---- -version: 1.3.0 -title: Javascript@decode_latest_stable_version_and_licenses@test/testdata/hex/no_version.json ---- -#( - "{ - "meta": { - "licenses": ["bin"] - } -} -", - Error(UnableToDecode([ - DecodeError( - expected: "Field", - found: "Nothing", - path: ["latest_stable_version"], - ), - ])), -) \ No newline at end of file diff --git a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted b/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted deleted file mode 100644 index 6e0a154..0000000 --- a/test/birdie_snapshots/javascript@decode_latest_stable_version_and_licenses@test_testdata_hex_version_null_json.accepted +++ /dev/null @@ -1,17 +0,0 @@ ---- -version: 1.2.6 -title: Javascript@decode_latest_stable_version_and_licenses@test/testdata/hex/version_null.json ---- -#( - "{ - "meta": { - "licenses": ["bin"] - }, - "latest_stable_version": null -} -", - Ok(HexInfo( - latest_stable_version: None, - licenses: ["bin"], - )), -) \ No newline at end of file diff --git a/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_empty_licenses_json.accepted b/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_empty_licenses_json.accepted new file mode 100644 index 0000000..0fbdae1 --- /dev/null +++ b/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_empty_licenses_json.accepted @@ -0,0 +1,13 @@ +--- +version: 2.0.0 +title: Javascript@decode_licenses@test/testdata/hex/empty_licenses.json +--- +#( + "{ + "meta": { + "licenses": [] + } +} +", + Ok([]), +) diff --git a/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_full_json.accepted b/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_full_json.accepted new file mode 100644 index 0000000..076c15e --- /dev/null +++ b/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_full_json.accepted @@ -0,0 +1,13 @@ +--- +version: 2.0.0 +title: Javascript@decode_licenses@test/testdata/hex/full.json +--- +#( + "{ + "meta": { + "licenses": ["MIT"] + } +} +", + Ok(["MIT"]), +) diff --git a/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_multi_license_json.accepted b/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_multi_license_json.accepted new file mode 100644 index 0000000..bd46ebe --- /dev/null +++ b/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_multi_license_json.accepted @@ -0,0 +1,13 @@ +--- +version: 2.0.0 +title: Javascript@decode_licenses@test/testdata/hex/multi_license.json +--- +#( + "{ + "meta": { + "licenses": ["MIT", "Apache-2.0"] + } +} +", + Ok(["MIT", "Apache-2.0"]), +) diff --git a/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_no_license_json.accepted b/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_no_license_json.accepted new file mode 100644 index 0000000..5a9579c --- /dev/null +++ b/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_no_license_json.accepted @@ -0,0 +1,17 @@ +--- +version: 2.0.0 +title: Javascript@decode_licenses@test/testdata/hex/no_license.json +--- +#( + "{ + "meta": {} +} +", + Error(UnableToDecode([ + DecodeError( + expected: "Field", + found: "Nothing", + path: ["meta", "licenses"], + ), + ])), +) diff --git a/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_no_meta_json.accepted b/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_no_meta_json.accepted new file mode 100644 index 0000000..26593d8 --- /dev/null +++ b/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_no_meta_json.accepted @@ -0,0 +1,15 @@ +--- +version: 2.0.0 +title: Javascript@decode_licenses@test/testdata/hex/no_meta.json +--- +#( + "{} +", + Error(UnableToDecode([ + DecodeError( + expected: "Field", + found: "Nothing", + path: ["meta"], + ), + ])), +) diff --git a/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_no_version_json.accepted b/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_no_version_json.accepted new file mode 100644 index 0000000..efb29a7 --- /dev/null +++ b/test/birdie_snapshots/javascript@decode_licenses@test_testdata_hex_no_version_json.accepted @@ -0,0 +1,13 @@ +--- +version: 2.0.0 +title: Javascript@decode_licenses@test/testdata/hex/no_version.json +--- +#( + "{ + "meta": { + "licenses": ["bin"] + } +} +", + Ok(["bin"]), +) diff --git a/test/birdie_snapshots/javascript@warning@git_deps_to_warnings.accepted b/test/birdie_snapshots/javascript@warning@git_deps_to_warnings.accepted new file mode 100644 index 0000000..fad8000 --- /dev/null +++ b/test/birdie_snapshots/javascript@warning@git_deps_to_warnings.accepted @@ -0,0 +1,16 @@ +--- +version: 2.0.0 +title: Javascript@warning@git_deps_to_warnings +--- +#( + "c", + Warning( + advisory_id: None, + package: "git-dependencies", + version: None, + reason: "Info: git dependencies have limited support (retirement and license checks are not performed): c", + warning_reason_code: WarningReasonInfo, + severity: SeverityInfo, + dep: DirectDep, + ), +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_json@git_deps_to_warnings.accepted b/test/birdie_snapshots/javascript@warning_format_as_json@git_deps_to_warnings.accepted new file mode 100644 index 0000000..b9772ee --- /dev/null +++ b/test/birdie_snapshots/javascript@warning_format_as_json@git_deps_to_warnings.accepted @@ -0,0 +1,16 @@ +--- +version: 2.0.0 +title: Javascript@warning_format_as_json@git_deps_to_warnings +--- +#( + "c", + "{ + "id": null, + "package": "git-dependencies", + "version": null, + "warning_reason": "Info", + "dependency_type": "Direct", + "severity": "info", + "reason": "Info: git dependencies have limited support (retirement and license checks are not performed): c" +}", +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_sarif@info_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_sarif@info_to_warning.accepted new file mode 100644 index 0000000..93104ad --- /dev/null +++ b/test/birdie_snapshots/javascript@warning_format_as_sarif@info_to_warning.accepted @@ -0,0 +1,25 @@ +--- +version: 2.0.0 +title: Javascript@warning_format_as_sarif@info_to_warning +--- +#( + Warning( + advisory_id: None, + package: "missing-package", + version: None, + reason: "Info: package 'missing-package' is not a dependency", + warning_reason_code: WarningReasonInfo, + severity: SeverityInfo, + dep: DirectDep, + ), + "{ + "tool": { + "driver": { + "name": "go_over", + "version": "3.4.0", + "rules": [] + } + }, + "results": [] +}", +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string@git_deps_to_warnings.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@git_deps_to_warnings.accepted new file mode 100644 index 0000000..cc383c7 --- /dev/null +++ b/test/birdie_snapshots/javascript@warning_format_as_string@git_deps_to_warnings.accepted @@ -0,0 +1,15 @@ +--- +version: 2.0.0 +title: Javascript@warning_format_as_string@git_deps_to_warnings +--- +#( + "c", + "ID: null +Package: git-dependencies +Version: null +WarningReason: Info +Dependency Type: Direct +Severity: info +Reason: Info: git dependencies have limited support (retirement and license checks are not performed): c +", +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@git_deps_to_warnings.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@git_deps_to_warnings.accepted new file mode 100644 index 0000000..6caf3e5 --- /dev/null +++ b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@git_deps_to_warnings.accepted @@ -0,0 +1,9 @@ +--- +version: 2.0.0 +title: Javascript@warning_format_as_string_minimal@git_deps_to_warnings +--- +#( + "c", + "git-dependencies: info +", +) diff --git a/test/hex_test.gleam b/test/hex_test.gleam index 6d7eb2c..ef2b476 100644 --- a/test/hex_test.gleam +++ b/test/hex_test.gleam @@ -6,19 +6,15 @@ fn parse(path: String) { let assert Ok(input) = simplifile.read(path) input - |> hex.decode_latest_stable_version_and_licenses - |> go_over_test.birdie_snap_with_input( - input, - "decode_latest_stable_version_and_licenses@" <> path, - ) + |> hex.decode_licenses + |> go_over_test.birdie_snap_with_input(input, "decode_licenses@" <> path) } -pub fn decode_latest_stable_version_and_licenses_test() { +pub fn decode_licenses_test() { let assert Ok(_) = parse("test/testdata/hex/empty_licenses.json") let assert Ok(_) = parse("test/testdata/hex/full.json") let assert Ok(_) = parse("test/testdata/hex/multi_license.json") + let assert Ok(_) = parse("test/testdata/hex/no_version.json") let assert Error(_) = parse("test/testdata/hex/no_license.json") let assert Error(_) = parse("test/testdata/hex/no_meta.json") - let assert Error(_) = parse("test/testdata/hex/no_version.json") - let assert Ok(_) = parse("test/testdata/hex/version_null.json") } diff --git a/test/testdata/hex/empty_licenses.json b/test/testdata/hex/empty_licenses.json index cd28909..a94ba51 100644 --- a/test/testdata/hex/empty_licenses.json +++ b/test/testdata/hex/empty_licenses.json @@ -1,6 +1,5 @@ { "meta": { "licenses": [] - }, - "latest_stable_version": "2.1.0" + } } diff --git a/test/testdata/hex/full.json b/test/testdata/hex/full.json index 9c0e999..f5c8d43 100644 --- a/test/testdata/hex/full.json +++ b/test/testdata/hex/full.json @@ -1,6 +1,5 @@ { "meta": { "licenses": ["MIT"] - }, - "latest_stable_version": "2.1.0" + } } diff --git a/test/testdata/hex/multi_license.json b/test/testdata/hex/multi_license.json index b9ab856..0b5148f 100644 --- a/test/testdata/hex/multi_license.json +++ b/test/testdata/hex/multi_license.json @@ -1,6 +1,5 @@ { "meta": { - "licenses": ["foo", "BAR", "baz"] - }, - "latest_stable_version": "2.1.0" + "licenses": ["MIT", "Apache-2.0"] + } } diff --git a/test/testdata/hex/no_license.json b/test/testdata/hex/no_license.json index 4e58611..6da7422 100644 --- a/test/testdata/hex/no_license.json +++ b/test/testdata/hex/no_license.json @@ -1,5 +1,3 @@ { - "meta": { - }, - "latest_stable_version": "2.1.0" + "meta": {} } diff --git a/test/testdata/hex/no_meta.json b/test/testdata/hex/no_meta.json index 2eb2012..0967ef4 100644 --- a/test/testdata/hex/no_meta.json +++ b/test/testdata/hex/no_meta.json @@ -1,3 +1 @@ -{ - "latest_stable_version": "2.1.0" -} +{} diff --git a/test/testdata/hex/outdated/outdated.json b/test/testdata/hex/outdated/outdated.json deleted file mode 100644 index 65633bf..0000000 --- a/test/testdata/hex/outdated/outdated.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "meta": { - "links": {}, - "description": "out of date", - "licenses": ["MIT"], - "maintainers": [] - }, - "name": "outdated", - "url": "outdated", - "owners": [], - "inserted_at": "2024-05-30T22:39:23.118433Z", - "updated_at": "2025-01-20T17:52:08.078591Z", - "repository": "hexpm", - "releases": [], - "downloads": { "all": 1, "day": 2, "recent": 3, "week": 4 }, - "latest_version": "1.1.1", - "docs_html_url": "outdated/", - "retirements": {}, - "configs": { - "erlang.mk": "dep_outdated = hex 1.1.1", - "mix.exs": "{:outdated, \"~> 2.4\"}", - "rebar.config": "{outdated, \"1.1.1\"}" - }, - "html_url": "/packages/outdated", - "latest_stable_version": "1.2.3" -} diff --git a/test/testdata/hex/outdated/up_to_date.json b/test/testdata/hex/outdated/up_to_date.json deleted file mode 100644 index f76d828..0000000 --- a/test/testdata/hex/outdated/up_to_date.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "meta": { - "links": {}, - "description": "up to date", - "licenses": ["MIT"], - "maintainers": [] - }, - "name": "up_to_date", - "url": "up_to_date", - "owners": [], - "inserted_at": "2024-05-30T22:39:23.118433Z", - "updated_at": "2025-01-20T17:52:08.078591Z", - "repository": "hexpm", - "releases": [], - "downloads": { "all": 1, "day": 2, "recent": 3, "week": 4 }, - "latest_version": "1.1.1", - "docs_html_url": "up_to_date/", - "retirements": {}, - "configs": { - "erlang.mk": "dep_up_to_date = hex 1.1.1", - "mix.exs": "{:up_to_date, \"~> 2.4\"}", - "rebar.config": "{up_to_date, \"1.1.1\"}" - }, - "html_url": "/packages/up_to_date", - "latest_stable_version": "1.1.1" -} diff --git a/test/testdata/hex/version_null.json b/test/testdata/hex/version_null.json deleted file mode 100644 index f261936..0000000 --- a/test/testdata/hex/version_null.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "meta": { - "licenses": ["bin"] - }, - "latest_stable_version": null -} From b9be125a83a6b0f181f16d6573b14b66bc80102b Mon Sep 17 00:00:00 2001 From: bwireman Date: Fri, 5 Jun 2026 22:32:41 -0500 Subject: [PATCH 11/18] max depth for workspace --- src/go_over/workspace.gleam | 24 ++++++++++++------- .../at_max/nested/project/gleam.toml | 5 ++++ .../at_max/nested/project/manifest.toml | 6 +++++ .../workspace_depth/shallow/gleam.toml | 5 ++++ .../workspace_depth/shallow/manifest.toml | 6 +++++ .../too_deep/nested/nested/project/gleam.toml | 5 ++++ .../nested/nested/project/manifest.toml | 6 +++++ test/workspace_test.gleam | 10 ++++++++ 8 files changed, 59 insertions(+), 8 deletions(-) create mode 100644 test/testdata/workspace_depth/at_max/nested/project/gleam.toml create mode 100644 test/testdata/workspace_depth/at_max/nested/project/manifest.toml create mode 100644 test/testdata/workspace_depth/shallow/gleam.toml create mode 100644 test/testdata/workspace_depth/shallow/manifest.toml create mode 100644 test/testdata/workspace_depth/too_deep/nested/nested/project/gleam.toml create mode 100644 test/testdata/workspace_depth/too_deep/nested/nested/project/manifest.toml diff --git a/src/go_over/workspace.gleam b/src/go_over/workspace.gleam index 2e4c92b..ed40ff9 100644 --- a/src/go_over/workspace.gleam +++ b/src/go_over/workspace.gleam @@ -6,6 +6,8 @@ import simplifile const skip_dirs = ["build", "deps", "node_modules", ".go-over", ".git"] +const max_depth = 3 + fn is_project_dir(dir: String) -> Bool { let gleam_toml = filepath.join(dir, "gleam.toml") let manifest = filepath.join(dir, "manifest.toml") @@ -20,22 +22,28 @@ fn should_skip(name: String) -> Bool { string.starts_with(name, ".") || list.contains(skip_dirs, name) } -fn do_discover(dir: String) -> List(String) { +fn do_discover(dir: String, depth: Int) -> List(String) { case is_project_dir(dir) { True -> [dir] False -> - case simplifile.read_directory(dir) { - Ok(names) -> - names - |> list.filter(fn(name) { !should_skip(name) }) - |> list.flat_map(fn(name) { do_discover(filepath.join(dir, name)) }) - Error(_) -> [] + case depth >= max_depth { + True -> [] + False -> + case simplifile.read_directory(dir) { + Ok(names) -> + names + |> list.filter(fn(name) { !should_skip(name) }) + |> list.flat_map(fn(name) { + do_discover(filepath.join(dir, name), depth + 1) + }) + Error(_) -> [] + } } } } pub fn discover(scan_root: String) -> List(String) { - do_discover(scan_root) + do_discover(scan_root, 0) |> list.sort(fn(a, b) { case string.compare(a, b) { order.Eq -> order.Eq diff --git a/test/testdata/workspace_depth/at_max/nested/project/gleam.toml b/test/testdata/workspace_depth/at_max/nested/project/gleam.toml new file mode 100644 index 0000000..28796df --- /dev/null +++ b/test/testdata/workspace_depth/at_max/nested/project/gleam.toml @@ -0,0 +1,5 @@ +name = "at_max" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_depth/at_max/nested/project/manifest.toml b/test/testdata/workspace_depth/at_max/nested/project/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_depth/at_max/nested/project/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/testdata/workspace_depth/shallow/gleam.toml b/test/testdata/workspace_depth/shallow/gleam.toml new file mode 100644 index 0000000..821e49e --- /dev/null +++ b/test/testdata/workspace_depth/shallow/gleam.toml @@ -0,0 +1,5 @@ +name = "shallow" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_depth/shallow/manifest.toml b/test/testdata/workspace_depth/shallow/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_depth/shallow/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/testdata/workspace_depth/too_deep/nested/nested/project/gleam.toml b/test/testdata/workspace_depth/too_deep/nested/nested/project/gleam.toml new file mode 100644 index 0000000..2d9ea8b --- /dev/null +++ b/test/testdata/workspace_depth/too_deep/nested/nested/project/gleam.toml @@ -0,0 +1,5 @@ +name = "too_deep" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_depth/too_deep/nested/nested/project/manifest.toml b/test/testdata/workspace_depth/too_deep/nested/nested/project/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_depth/too_deep/nested/nested/project/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/workspace_test.gleam b/test/workspace_test.gleam index 3a5d8d7..1035348 100644 --- a/test/workspace_test.gleam +++ b/test/workspace_test.gleam @@ -13,3 +13,13 @@ pub fn discover_workspace_test() { pub fn discover_empty_test() { assert workspace.discover("test/testdata/gleam") == [] } + +pub fn discover_max_depth_test() { + let projects = workspace.discover("test/testdata/workspace_depth") + + assert projects + == [ + "test/testdata/workspace_depth/at_max/nested/project", + "test/testdata/workspace_depth/shallow", + ] +} From d1adcd6f0b2d1e3710501a0cd24b0aa136503297 Mon Sep 17 00:00:00 2001 From: bwireman Date: Fri, 5 Jun 2026 22:41:59 -0500 Subject: [PATCH 12/18] clone once --- src/go_over.gleam | 6 +++++- src/go_over/advisories/advisories.gleam | 3 +-- src/go_over/config.gleam | 5 +++-- src/go_over/sources.gleam | 3 ++- test/advisories_test.gleam | 4 ++-- test/config_test.gleam | 10 +++++----- 6 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/go_over.gleam b/src/go_over.gleam index bc1d55d..f4bc421 100644 --- a/src/go_over.gleam +++ b/src/go_over.gleam @@ -6,6 +6,7 @@ import gleam/list import gleam/option import gleam/result import gleam/string +import go_over/advisories/advisories import go_over/config.{type Config, type Flags} import go_over/hex/hex import go_over/packages @@ -194,7 +195,9 @@ pub fn audit_project( spinner, "Checking packages: " <> print.raw("vulnerable", "red"), ) - let vulnerable_warnings = sources.get_vulnerable_warnings(pkgs_audited, conf) + let all_advisories = advisories.fetch_all() + let vulnerable_warnings = + sources.get_vulnerable_warnings(pkgs_audited, conf, all_advisories) spinner.set_text_spinner( spinner, @@ -234,6 +237,7 @@ pub fn audit_project( manifest_pkgs, audit_warnings, dependency_licenses, + all_advisories, ) let fatal_warnings = diff --git a/src/go_over/advisories/advisories.gleam b/src/go_over/advisories/advisories.gleam index 7b3f831..6dff3db 100644 --- a/src/go_over/advisories/advisories.gleam +++ b/src/go_over/advisories/advisories.gleam @@ -135,9 +135,8 @@ pub fn fetch_all() -> List(Advisory) { pub fn check_for_advisories( packages: List(packages.Package), + advisories: List(Advisory), ) -> List(#(Package, List(Advisory))) { - let advisories = fetch_all() - list.map(packages, fn(pkg) { case is_vulnerable(pkg, advisories) { [] -> None diff --git a/src/go_over/config.gleam b/src/go_over/config.gleam index 61c0b0d..7c4ebc2 100644 --- a/src/go_over/config.gleam +++ b/src/go_over/config.gleam @@ -7,7 +7,7 @@ import gleam/list import gleam/option.{type Option, None, Some} import gleam/result import gleam/string -import go_over/advisories/advisories.{type Advisory, fetch_all} +import go_over/advisories/advisories.{type Advisory} import go_over/hex/puller import go_over/packages.{type Package} import go_over/util/constants @@ -226,6 +226,7 @@ pub fn unnecessary_ignore_warnings( manifest_pkgs: List(Package), audit_warnings: List(Warning), dependency_licenses: List(String), + all_advisories: List(Advisory), ) -> List(Warning) { let manifest_names = list.map(manifest_pkgs, fn(pkg) { pkg.name }) let packages_with_warnings = list.map(audit_warnings, fn(w) { w.package }) @@ -283,7 +284,7 @@ pub fn unnecessary_ignore_warnings( }) let id_warnings = - unnecessary_ignore_id_warnings(conf, manifest_names, fetch_all()) + unnecessary_ignore_id_warnings(conf, manifest_names, all_advisories) let indirect_warnings = case conf.ignore_indirect { False -> [] diff --git a/src/go_over/sources.gleam b/src/go_over/sources.gleam index 6c3efb0..edb013b 100644 --- a/src/go_over/sources.gleam +++ b/src/go_over/sources.gleam @@ -13,8 +13,9 @@ import gxyz/tuple pub fn get_vulnerable_warnings( pkgs: List(Package), conf: Config, + all_advisories: List(advisories.Advisory), ) -> List(Warning) { - advisories.check_for_advisories(pkgs) + advisories.check_for_advisories(pkgs, all_advisories) |> list.map(fn(p) { tuple.map2_1(p, config.filter_advisory_ids(conf, _)) }) |> glist.filter_tap(pair.second, list.is_empty) |> list.flat_map(tuple.apply_from2(_, warning.adv_to_warning)) diff --git a/test/advisories_test.gleam b/test/advisories_test.gleam index ebd6581..452718e 100644 --- a/test/advisories_test.gleam +++ b/test/advisories_test.gleam @@ -1,4 +1,4 @@ -import go_over/advisories/advisories.{check_for_advisories, read} +import go_over/advisories/advisories.{check_for_advisories, fetch_all, read} import go_over/packages.{read_manifest} import go_over_test import simplifile @@ -6,7 +6,7 @@ import simplifile pub fn check_for_advisories_test() { let assert [#(pkg, [adv1, adv2])] = read_manifest("test/testdata/manifest/known_vulnerable.toml") - |> check_for_advisories() + |> check_for_advisories(fetch_all()) assert pkg.name == "phoenix" assert adv1.name == "phoenix" diff --git a/test/config_test.gleam b/test/config_test.gleam index 15e5015..0624ba3 100644 --- a/test/config_test.gleam +++ b/test/config_test.gleam @@ -341,7 +341,7 @@ pub fn unnecessary_ignore_warnings_test() { warning.DirectDep, ) - assert unnecessary_ignore_warnings(conf, manifest, [audit_warning], []) + assert unnecessary_ignore_warnings(conf, manifest, [audit_warning], [], []) == [ warning.info_to_warning( "b", @@ -366,7 +366,7 @@ pub fn unnecessary_ignore_license_warnings_test() { "WTFPL", ]) - assert unnecessary_ignore_warnings(conf, [], [], ["MIT", "Apache-2.0"]) + assert unnecessary_ignore_warnings(conf, [], [], ["MIT", "Apache-2.0"], []) == [ warning.info_to_warning( "WTFPL", @@ -406,7 +406,7 @@ pub fn unnecessary_ignore_indirect_test() { let direct = Package("a", v, "", True, packages.PackageSourceHex) let conf = config.Config(..empty_conf(), ignore_indirect: True) - assert unnecessary_ignore_warnings(conf, [direct], [], []) + assert unnecessary_ignore_warnings(conf, [direct], [], [], []) == [ warning.info_to_warning( "indirect", @@ -426,7 +426,7 @@ pub fn unnecessary_ignore_dev_dependencies_test() { ignore_dev_dependencies: True, ) - assert unnecessary_ignore_warnings(no_dev_deps, [pkg], [], []) + assert unnecessary_ignore_warnings(no_dev_deps, [pkg], [], [], []) == [ warning.info_to_warning( "dev_dependencies", @@ -434,7 +434,7 @@ pub fn unnecessary_ignore_dev_dependencies_test() { ), ] - assert unnecessary_ignore_warnings(missing_dev_deps, [pkg], [], []) + assert unnecessary_ignore_warnings(missing_dev_deps, [pkg], [], [], []) == [ warning.info_to_warning( "dev_dependencies", From 964efcb14d91c7b04dce94b3fe1a676c7717607a Mon Sep 17 00:00:00 2001 From: bwireman Date: Fri, 5 Jun 2026 22:57:29 -0500 Subject: [PATCH 13/18] VHS AGAIN --- images/demo.gif | Bin 285906 -> 240332 bytes images/demo.tape | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/images/demo.gif b/images/demo.gif index 9af84280ceae28fc90f6860b22d117ed6acad0e6..06fcae445f3089b0c285fcb19e0b3d68ba8278cb 100644 GIT binary patch literal 240332 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

7pr$( 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 literal 240332 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

FTimI^;?5WDi^r%Y7O6!vv1)s-MtHW3Nwtu!Y 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%0Av5L`|z;l=WR0f0}5l*V8Hbrq4mW<)7 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�=Bkm@b?3hp7j1ZXgZ2%(vcl(}?uK&BDGz)1z>%T5 z_3No?j?#U22I3PJmmdLn5c9BMd@w3Ck)(609vpH<+J}u=O*=Y2B_RA<%tHcim+!Pz=2_9ES^$g1o=HR5_55^Q)H2rp>N4 zp9$vKr?5E#Tl>tD=+yC{0u$qKD(pvyYUpM@^B6A!;Wby$@n#8Z+`vl%73W_1bcjZVb^?^|MwzFbt@>^o^EX5Mk_= zi(PnqW6SsME?QXYPOl9cXD%j~&JT}W8&cx_Ci%{}8^2_nVV2BUoty%@-n;}Q$f68U z*TAM@x2B&mJC@50k0kBo6!tNh^h)k*Gw}27v!728U3bnLWT{YJd_rdxZy^lWF{bxm z`vOubUJZg70v0lXN%~%u^;B2aWjVDbS+cBSm~^n<>=(oL`&VQkW*k3Dv*JUvMmvlH z)~*W>ANzQ0{ch9P^S*bl=pj*Z*v+t=BX{PseLQvU+s|audS++PC$j9@FX`9LJ=7Kv znr|2y3Bz7JM9dv&+q&;f&VlvR08V_n+xNHPi^#`Q3F#;Yw|C{&W>cjdv;t z=Z8Pe`f_#irVsUVzuk9Ht=&LmLnI5&zh3dEw4?IEyPXHl|FU)|`Rcq)ZyTPUS8iQe z+%b34+rp`1zo>|hRJ(~}?u8Erj*EL9nHU{7aN*Ndqcs)!Y~_7|2leMnarV2NG|UR7 zr*1m+`==XwU<@E|6l9<9`M$>o(C;<^PAEzKY@%YL3yxwPTY$DLIF!HcMd$ zya5eX(7qMjYB7@rcy*G%jCcc@7>?7TbF*}G$?$^B^zVbi7PXy)JDtK$mwySV#_GBx zzr6Wn`d0QfX6AK{GpC+YV^|3HK9p+Nzn{5_ZTL0yP-y+a%GmkMA9)Lpdo(P#mG@z9 zSj~_B7JPx-01cr0lTiO-k)8}gAX^3MJTb!S;%RzS7GocTxqIy59qNQNmqhUBL4AL+ zkvl|V1u{xFG;|SSJiCapRA_TMM?VD=5PKZPMX5ahuqfnRWNB zuErzx!y{dW<;aerdfR0d14>#k^;+@5RL-|%NfDU;6}xR!x_4O;WET_L$p?MU`t@KwcI1hGRJylxoPaa zK-4=vYfKbq&9f}I;F{RxWvrDrP=DlC{)@ZNeDZ;pUq>Eq?!_3bnpJWis%7IbM zd`^4%6#3nx+9rrI`@8<4>oMRR(^j48xP;pmP^SN8@P^ATKwy{Uaa*4y#OV#tYU2jC)vY5AF$UJ68^T&gJ#}}T>D~(%Yat1|D{G}onUl*Vi zAeXqz+p=2MEY|Zew^|5`YEO##mj-YAr})75D^XwdiI>9s|9{)#cKxefb+`WmZ{NTZ diff --git a/images/demo.tape b/images/demo.tape index 4d22947..ad7d9b8 100644 --- a/images/demo.tape +++ b/images/demo.tape @@ -9,7 +9,9 @@ Set BorderRadius 12 # Setup Hide -Type `rm -rf ~/.cache/go-over/ && clear` +Type `rm -rf ~/.cache/go-over/deps/g* ~/.cache/go-over/package-licenses/g*` +Enter +Type `gleam build && clear` Enter Show diff --git a/src/go_over.gleam b/src/go_over.gleam index 9a708fd..1df9c86 100644 --- a/src/go_over.gleam +++ b/src/go_over.gleam @@ -39,23 +39,18 @@ fn prefix_label(prefix: option.Option(String), label: String) -> String { } } -fn print_warnings_count(vulns: List(Warning), label: String) -> List(Warning) { - label |> io.print_error() - vulns -} - -fn print_warnings_list( +fn print_warnings_output( vulns: List(Warning), conf: Config, label: String, prefix: option.Option(String), ) -> Nil { - let label = prefix_label(prefix, warnings_label(vulns, label)) + let label = prefix_label(prefix, label) + io.print_error(label) case conf.format { config.Minimal -> vulns - |> print_warnings_count(label) |> list.map(warning.format_as_string_minimal) |> string.join("") |> io.print_error() @@ -66,7 +61,6 @@ fn print_warnings_list( _ -> vulns - |> print_warnings_count(label) |> list.map(warning.format_as_string) |> string.join(constants.long_ass_dashes) |> io.print_error() @@ -83,41 +77,13 @@ fn warnings_label(vulns: List(Warning), kind: String) -> String { } fn info_label(vulns: List(Warning)) -> String { - "ℹ️ " + "ℹ️ " <> int.to_string(list.length(vulns)) <> " Item(s) of Note" <> constants.long_ass_dashes } -fn print_info_list( - vulns: List(Warning), - conf: Config, - prefix: option.Option(String), -) -> Nil { - let label = prefix_label(prefix, info_label(vulns)) - - case conf.format { - config.Minimal -> - vulns - |> print_warnings_count(label) - |> list.map(warning.format_as_string_minimal) - |> string.join("") - |> io.print_error() - - config.JSON -> Nil - - config.SARIF -> Nil - - _ -> - vulns - |> print_warnings_count(label) - |> list.map(warning.format_as_string) - |> string.join(constants.long_ass_dashes) - |> io.print_error() - } -} - -pub fn warnings_for_json(result: AuditResult) -> List(Warning) { +fn warnings_for_json(result: AuditResult) -> List(Warning) { list.append(result.info_warnings, result.fatal_warnings) } @@ -139,10 +105,7 @@ fn write_sarif( ) -> Nil { let runs = list.map(results, fn(result) { - #( - result.project_root, - list.append(result.info_warnings, result.fatal_warnings), - ) + #(result.project_root, warnings_for_json(result)) }) let content = @@ -173,34 +136,30 @@ pub fn skipped_workspace_warnings(skipped: List(String)) -> List(Warning) { }) } -pub fn print_info( - vulns: List(Warning), - conf: Config, - prefix: option.Option(String), -) -> Nil { - print_info_list(vulns, conf, prefix) -} - pub fn print_warnings( vulns: List(Warning), conf: Config, prefix: option.Option(String), ) -> Nil { - print_warnings_list(vulns, conf, "WARNING", prefix) + print_warnings_output(vulns, conf, warnings_label(vulns, "WARNING"), prefix) shellout.exit(1) } -pub fn audit_project( - flags: Flags, - project_root: String, -) -> Result(AuditResult, String) { +fn read_project_config(project_root: String) -> Config { let gleam_toml = filepath.join(project_root, "gleam.toml") - let manifest_toml = filepath.join(project_root, "manifest.toml") - let project_config = case simplifile.read(gleam_toml) { + case simplifile.read(gleam_toml) { Ok(_) -> config.read_config(gleam_toml) Error(_) -> config.default_config() } +} + +pub fn audit_project( + flags: Flags, + project_root: String, +) -> Result(AuditResult, String) { + let manifest_toml = filepath.join(project_root, "manifest.toml") + let project_config = read_project_config(project_root) use conf <- result.try(config.merge_flags_and_config(flags, project_config)) @@ -304,12 +263,15 @@ pub fn main() { } } -fn scan_root_config(scan_root: String) -> config.Config { - let gleam_toml = filepath.join(scan_root, "gleam.toml") - - case simplifile.read(gleam_toml) { - Ok(_) -> config.read_config(gleam_toml) - Error(_) -> config.default_config() +fn print_no_issues_success(info_count: Int) -> Nil { + case info_count { + 0 -> print.success("✅ No warnings found!") + _ -> + print.success( + "✅ No security issues found (" + <> int.to_string(info_count) + <> " item(s) of note)", + ) } } @@ -318,7 +280,7 @@ fn run(flags: config.Flags) -> Nil { let #(results, workspace_skipped) = case flags.workspace_root { option.Some(scan_root) -> { - let scan_config = scan_root_config(scan_root) + let scan_config = read_project_config(scan_root) let max_depth = scan_config.workspace_max_depth case workspace.discover_or_error(scan_root, max_depth) { @@ -366,8 +328,8 @@ fn run(flags: config.Flags) -> Nil { } } - case workspace_mode { - True -> + case workspace_mode, flags.format { + True, option.None -> case config.validate_workspace_formats( list.map(results, fn(r) { #(r.format, r.project_root) }), @@ -380,7 +342,7 @@ fn run(flags: config.Flags) -> Nil { } Ok(Nil) -> Nil } - False -> Nil + _, _ -> Nil } let prefix_for = fn(result: AuditResult) { @@ -415,7 +377,13 @@ fn run(flags: config.Flags) -> Nil { list.each(results, fn(result) { case result.info_warnings { [] -> Nil - info -> print_info(info, display_conf(result), prefix_for(result)) + info -> + print_warnings_output( + info, + display_conf(result), + info_label(info), + prefix_for(result), + ) } }) False, True -> print_json_warnings(warnings_for_json_results(results)) @@ -432,28 +400,8 @@ fn run(flags: config.Flags) -> Nil { write_sarif(results, flags.sarif_output) Nil } - False, False, False, True -> { - case info_count { - 0 -> print.success("✅ No warnings found!") - _ -> - print.success( - "✅ No security issues found (" - <> int.to_string(info_count) - <> " item(s) of note)", - ) - } - Nil - } - False, False, False, False -> { - case info_count { - 0 -> print.success("✅ No warnings found!") - _ -> - print.success( - "✅ No security issues found (" - <> int.to_string(info_count) - <> " item(s) of note)", - ) - } + False, False, False, _ -> { + print_no_issues_success(info_count) Nil } False, True, True, _ -> { @@ -471,10 +419,10 @@ fn run(flags: config.Flags) -> Nil { case result.fatal_warnings { [] -> Nil vulns -> - print_warnings_list( + print_warnings_output( vulns, display_conf(result), - "WARNING", + warnings_label(vulns, "WARNING"), prefix_for(result), ) } diff --git a/src/go_over/config.gleam b/src/go_over/config.gleam index 1e1579c..8ec1199 100644 --- a/src/go_over/config.gleam +++ b/src/go_over/config.gleam @@ -477,7 +477,7 @@ pub fn normalize_workspace_argv(argv: List(String)) -> List(String) { case argv { ["--workspace", next, ..rest] -> case string.starts_with(next, "-") { - True -> ["--workspace", ".", ..rest] + True -> ["--workspace", ".", next, ..rest] False -> argv } ["--workspace", ..rest] -> ["--workspace", ".", ..rest] diff --git a/test/birdie_snapshots/erlang@spin_up_test@outdated.accepted b/test/birdie_snapshots/erlang@spin_up_test@outdated.accepted deleted file mode 100644 index 07309d2..0000000 --- a/test/birdie_snapshots/erlang@spin_up_test@outdated.accepted +++ /dev/null @@ -1,24 +0,0 @@ ---- -version: 2.0.0 -title: Erlang@spin_up_test@outdated ---- -#( - [""], - Config( - [], - False, - False, - False, - Minimal, - False, - True, - Native, - [], - [], - [], - [], - False, - None, - None, - ), -) diff --git a/test/birdie_snapshots/javascript@spin_up_test@fake.accepted b/test/birdie_snapshots/javascript@spin_up_test@fake.accepted index 3dc1c6b..7015df3 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@fake.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@fake.accepted @@ -6,7 +6,6 @@ title: Javascript@spin_up_test@fake ["--fake"], Config( dev_deps: [], - outdated: False, ignore_indirect: False, force: False, fake: True, diff --git a/test/birdie_snapshots/javascript@spin_up_test@outdated.accepted b/test/birdie_snapshots/javascript@spin_up_test@outdated.accepted deleted file mode 100644 index 991b69d..0000000 --- a/test/birdie_snapshots/javascript@spin_up_test@outdated.accepted +++ /dev/null @@ -1,24 +0,0 @@ ---- -version: 2.0.0 -title: Javascript@spin_up_test@outdated ---- -#( - [""], - Config( - dev_deps: [], - outdated: False, - ignore_indirect: False, - force: False, - format: Minimal, - verbose: False, - global: True, - puller: CURL, - allowed_licenses: [], - ignore_packages: [], - ignore_severity: [], - ignore_ids: [], - ignore_dev_dependencies: False, - single_root: None, - workspace_root: None, - ), -) diff --git a/test/config_test.gleam b/test/config_test.gleam index 805197e..0349d74 100644 --- a/test/config_test.gleam +++ b/test/config_test.gleam @@ -549,6 +549,21 @@ pub fn normalize_workspace_argv_test() { == ["--workspace", "."] assert config.normalize_workspace_argv(["--workspace", "backend"]) == ["--workspace", "backend"] + assert config.normalize_workspace_argv(["--workspace", "--local"]) + == ["--workspace", ".", "--local"] + assert config.normalize_workspace_argv(["--workspace", "--format", "json"]) + == ["--workspace", ".", "--format", "json"] +} + +pub fn merge_flags_format_overrides_workspace_project_test() { + let json_project = config.Config(..empty_conf(), format: config.JSON) + let minimal_project = config.Config(..empty_conf(), format: config.Minimal) + let cli_sarif = config.Flags(..empty_flags, format: option.Some(config.SARIF)) + + assert config.merge_flags_and_config(cli_sarif, json_project) + == Ok(config.Config(..json_project, format: config.SARIF)) + assert config.merge_flags_and_config(cli_sarif, minimal_project) + == Ok(config.Config(..minimal_project, format: config.SARIF)) } pub fn spin_up_root_test() { From 0ef53156ede0737b5d5ade9ed5787ca4021c1a31 Mon Sep 17 00:00:00 2001 From: bwireman Date: Sat, 6 Jun 2026 21:30:14 -0500 Subject: [PATCH 17/18] more tests --- test/config_test.gleam | 65 +++++ test/integration_test.gleam | 174 ++++++++++++- test/testdata/gleam/workspace_max_depth.toml | 2 + .../container/project/gleam.toml | 5 + .../container/project/manifest.toml | 6 + .../testdata/workspace_multi_level/gleam.toml | 2 + .../libs/common/gleam.toml | 5 + .../libs/common/manifest.toml | 6 + .../services/api/gleam.toml | 5 + .../services/api/manifest.toml | 6 + .../services/worker/gleam.toml | 5 + .../services/worker/manifest.toml | 6 + .../workspace_partial/complete/gleam.toml | 5 + .../workspace_partial/complete/manifest.toml | 6 + .../workspace_partial/only_gleam/gleam.toml | 5 + .../only_manifest/manifest.toml | 3 + .../workspace_root_project/gleam.toml | 5 + .../workspace_root_project/manifest.toml | 6 + .../packages/nested_app/gleam.toml | 5 + .../packages/nested_app/manifest.toml | 6 + .../workspace_skip/.hidden/nested/gleam.toml | 5 + .../.hidden/nested/manifest.toml | 6 + .../workspace_skip/build/hidden/gleam.toml | 5 + .../workspace_skip/build/hidden/manifest.toml | 6 + .../workspace_skip/deps/hidden/gleam.toml | 5 + .../workspace_skip/deps/hidden/manifest.toml | 6 + .../workspace_skip/visible/gleam.toml | 5 + .../workspace_skip/visible/manifest.toml | 6 + test/workspace_test.gleam | 235 +++++++++++++++++- 29 files changed, 587 insertions(+), 20 deletions(-) create mode 100644 test/testdata/gleam/workspace_max_depth.toml create mode 100644 test/testdata/workspace_depth_zero/container/project/gleam.toml create mode 100644 test/testdata/workspace_depth_zero/container/project/manifest.toml create mode 100644 test/testdata/workspace_multi_level/gleam.toml create mode 100644 test/testdata/workspace_multi_level/libs/common/gleam.toml create mode 100644 test/testdata/workspace_multi_level/libs/common/manifest.toml create mode 100644 test/testdata/workspace_multi_level/services/api/gleam.toml create mode 100644 test/testdata/workspace_multi_level/services/api/manifest.toml create mode 100644 test/testdata/workspace_multi_level/services/worker/gleam.toml create mode 100644 test/testdata/workspace_multi_level/services/worker/manifest.toml create mode 100644 test/testdata/workspace_partial/complete/gleam.toml create mode 100644 test/testdata/workspace_partial/complete/manifest.toml create mode 100644 test/testdata/workspace_partial/only_gleam/gleam.toml create mode 100644 test/testdata/workspace_partial/only_manifest/manifest.toml create mode 100644 test/testdata/workspace_root_project/gleam.toml create mode 100644 test/testdata/workspace_root_project/manifest.toml create mode 100644 test/testdata/workspace_root_project/packages/nested_app/gleam.toml create mode 100644 test/testdata/workspace_root_project/packages/nested_app/manifest.toml create mode 100644 test/testdata/workspace_skip/.hidden/nested/gleam.toml create mode 100644 test/testdata/workspace_skip/.hidden/nested/manifest.toml create mode 100644 test/testdata/workspace_skip/build/hidden/gleam.toml create mode 100644 test/testdata/workspace_skip/build/hidden/manifest.toml create mode 100644 test/testdata/workspace_skip/deps/hidden/gleam.toml create mode 100644 test/testdata/workspace_skip/deps/hidden/manifest.toml create mode 100644 test/testdata/workspace_skip/visible/gleam.toml create mode 100644 test/testdata/workspace_skip/visible/manifest.toml diff --git a/test/config_test.gleam b/test/config_test.gleam index 0349d74..fd5c472 100644 --- a/test/config_test.gleam +++ b/test/config_test.gleam @@ -544,6 +544,11 @@ pub fn read_dev_dependencies_underscore_test() { assert list.contains(conf.dev_deps, "birdie") } +pub fn read_workspace_max_depth_test() { + let conf = read_config("test/testdata/gleam/workspace_max_depth.toml") + assert conf.workspace_max_depth == 5 +} + pub fn normalize_workspace_argv_test() { assert config.normalize_workspace_argv(["--workspace"]) == ["--workspace", "."] @@ -605,3 +610,63 @@ pub fn merge_root_and_workspace_error_test() { assert msg == "cannot set --root and --workspace" } + +pub fn default_workspace_max_depth_test() { + assert empty_conf().workspace_max_depth == 3 +} + +pub fn validate_workspace_formats_empty_test() { + assert config.validate_workspace_formats([]) == Ok(Nil) +} + +pub fn validate_workspace_formats_single_test() { + assert config.validate_workspace_formats([#(config.JSON, "only")]) == Ok(Nil) +} + +pub fn validate_workspace_formats_three_matching_test() { + assert config.validate_workspace_formats([ + #(config.Detailed, "a"), + #(config.Detailed, "b"), + #(config.Detailed, "c"), + ]) + == Ok(Nil) +} + +pub fn validate_workspace_formats_detailed_mismatch_test() { + let assert Error(msg) = + config.validate_workspace_formats([ + #(config.Detailed, "a"), + #(config.Minimal, "b"), + ]) + + assert msg + == "workspace projects have mismatched output formats; set format consistently or use --format" +} + +pub fn normalize_workspace_argv_noop_test() { + assert config.normalize_workspace_argv(["--root", "backend"]) + == ["--root", "backend"] + assert config.normalize_workspace_argv([]) == [] +} + +pub fn parse_flags_workspace_default_path_test() { + let assert Ok(flags) = config.parse_flags(["--workspace"]) + + assert flags.workspace_root == option.Some(".") + assert flags.single_root == option.None +} + +pub fn parse_flags_workspace_with_path_test() { + let assert Ok(flags) = config.parse_flags(["--workspace", "monorepo"]) + + assert flags.workspace_root == option.Some("monorepo") +} + +pub fn spin_up_workspace_default_path_test() { + let assert Ok(conf) = + empty_conf() + |> config.spin_up(["--workspace"]) + + assert conf.workspace_root == option.Some(".") + assert conf.single_root == option.None +} diff --git a/test/integration_test.gleam b/test/integration_test.gleam index 6dca1fc..68523d5 100644 --- a/test/integration_test.gleam +++ b/test/integration_test.gleam @@ -1,5 +1,6 @@ import gleam/json import gleam/list +import gleam/option import gleam/string import gleamsver import go_over @@ -8,24 +9,77 @@ import go_over/config import go_over/packages import go_over/sarif import go_over/warning +import go_over/workspace import go_over_test +const workspace = "test/testdata/workspace" + +const workspace_depth = "test/testdata/workspace_depth" + +const workspace_root_project = "test/testdata/workspace_root_project" + +const audit_flags = config.Flags( + force: False, + outdated: False, + verbose: False, + format: option.None, + global: False, + local: True, + puller: option.None, + single_root: option.None, + workspace_root: option.None, + sarif_output: option.None, +) + pub fn skipped_workspace_warnings_test() { - let warnings = - go_over.skipped_workspace_warnings([ - "test/testdata/workspace_depth/too_deep/nested/nested/project", - ]) + let path = "test/testdata/workspace_depth/too_deep/nested/nested/project" + let warnings = go_over.skipped_workspace_warnings([path]) assert list.length(warnings) == 1 - assert warning.is_info( - list.first(warnings) - |> fn(r) { - case r { - Ok(w) -> w - Error(_) -> panic as "expected warning" - } - }, - ) + let assert Ok(w) = list.first(warnings) + assert warning.is_info(w) + assert string.contains(w.reason, path) + assert string.contains(w.reason, "exceeds workspace_max_depth") +} + +pub fn audit_workspace_fixture_test() { + let assert Ok(result) = + go_over.audit_project(audit_flags, workspace <> "/app_a") + + assert result.project_root == workspace <> "/app_a" + assert result.fatal_warnings == [] + assert result.outdated_failed == False +} + +pub fn audit_all_discovered_workspace_projects_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace, 3) + + assert skipped == [] + + let results = + list.map(projects, fn(project_root) { + let assert Ok(result) = go_over.audit_project(audit_flags, project_root) + result + }) + + assert list.length(results) == 2 + assert list.all(results, fn(r) { r.fatal_warnings == [] }) +} + +pub fn workspace_sarif_multiple_runs_test() { + let info = warning.info_to_warning("skipped", "Info: project was skipped") + + let runs = [ + #(workspace <> "/app_a", [info]), + #(workspace <> "/app_b", []), + ] + + let sarif_json = sarif.to_sarif_log(runs) |> json.to_string() + + assert list.length(runs) == 2 + assert string.contains(sarif_json, workspace <> "/app_a/manifest.toml") + assert string.contains(sarif_json, "\"results\":[]") } pub fn warnings_for_json_results_test() { @@ -60,6 +114,100 @@ pub fn validate_workspace_formats_integration_test() { == Ok(Nil) } +pub fn skipped_workspace_warnings_multiple_test() { + let skipped = [ + workspace_depth <> "/at_max/nested/project", + workspace_depth <> "/too_deep/nested/nested/project", + ] + + let warnings = go_over.skipped_workspace_warnings(skipped) + + assert list.length(warnings) == 2 + assert list.all(warnings, warning.is_info) + assert list.all(warnings, fn(w) { + string.contains(w.reason, "exceeds workspace_max_depth") + }) +} + +pub fn discover_depth_skipped_warnings_integration_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_depth, 1) + + assert projects == [workspace_depth <> "/shallow"] + assert list.length(skipped) == 2 + + let warnings = go_over.skipped_workspace_warnings(skipped) + + assert list.length(warnings) == list.length(skipped) + let assert Ok(first) = list.first(warnings) + assert string.contains( + first.reason, + list.first(skipped) + |> fn(r) { + case r { + Ok(s) -> s + Error(_) -> "" + } + }, + ) +} + +pub fn audit_workspace_app_b_test() { + let assert Ok(result) = + go_over.audit_project(audit_flags, workspace <> "/app_b") + + assert result.project_root == workspace <> "/app_b" + assert result.fatal_warnings == [] +} + +pub fn audit_workspace_root_project_test() { + let assert Ok(result) = + go_over.audit_project(audit_flags, workspace_root_project) + + assert result.project_root == workspace_root_project + assert result.fatal_warnings == [] +} + +pub fn warnings_for_json_results_multiple_test() { + let info_a = warning.info_to_warning("a", "Info: first") + let info_b = warning.info_to_warning("b", "Info: second") + let fatal = warning.info_to_warning("c", "fatal placeholder") + + let results = [ + go_over.AuditResult( + project_root: "a", + fatal_warnings: [fatal], + info_warnings: [info_a], + outdated_failed: False, + format: config.JSON, + ), + go_over.AuditResult( + project_root: "b", + fatal_warnings: [], + info_warnings: [info_b], + outdated_failed: False, + format: config.JSON, + ), + ] + + let warnings = go_over.warnings_for_json_results(results) + + assert list.length(warnings) == 3 + assert list.any(warnings, fn(w) { w.reason == "Info: first" }) + assert list.any(warnings, fn(w) { w.reason == "Info: second" }) + assert list.any(warnings, fn(w) { w.reason == "fatal placeholder" }) +} + +pub fn skipped_workspace_warning_message_test() { + let path = "path/to/project" + let assert Ok(w) = go_over.skipped_workspace_warnings([path]) |> list.first + + assert w.reason + == "Info: project at '" + <> path + <> "' was skipped (exceeds workspace_max_depth)" +} + pub fn sarif_log_includes_info_test() { let info = warning.info_to_warning( diff --git a/test/testdata/gleam/workspace_max_depth.toml b/test/testdata/gleam/workspace_max_depth.toml new file mode 100644 index 0000000..475f90c --- /dev/null +++ b/test/testdata/gleam/workspace_max_depth.toml @@ -0,0 +1,2 @@ +[go-over] +workspace_max_depth = 5 diff --git a/test/testdata/workspace_depth_zero/container/project/gleam.toml b/test/testdata/workspace_depth_zero/container/project/gleam.toml new file mode 100644 index 0000000..551bc52 --- /dev/null +++ b/test/testdata/workspace_depth_zero/container/project/gleam.toml @@ -0,0 +1,5 @@ +name = "depth_zero" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_depth_zero/container/project/manifest.toml b/test/testdata/workspace_depth_zero/container/project/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_depth_zero/container/project/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/testdata/workspace_multi_level/gleam.toml b/test/testdata/workspace_multi_level/gleam.toml new file mode 100644 index 0000000..b425fd9 --- /dev/null +++ b/test/testdata/workspace_multi_level/gleam.toml @@ -0,0 +1,2 @@ +name = "root_not_project" +version = "1.0.0" diff --git a/test/testdata/workspace_multi_level/libs/common/gleam.toml b/test/testdata/workspace_multi_level/libs/common/gleam.toml new file mode 100644 index 0000000..2444aa4 --- /dev/null +++ b/test/testdata/workspace_multi_level/libs/common/gleam.toml @@ -0,0 +1,5 @@ +name = "common" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_multi_level/libs/common/manifest.toml b/test/testdata/workspace_multi_level/libs/common/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_multi_level/libs/common/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/testdata/workspace_multi_level/services/api/gleam.toml b/test/testdata/workspace_multi_level/services/api/gleam.toml new file mode 100644 index 0000000..6015359 --- /dev/null +++ b/test/testdata/workspace_multi_level/services/api/gleam.toml @@ -0,0 +1,5 @@ +name = "api" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_multi_level/services/api/manifest.toml b/test/testdata/workspace_multi_level/services/api/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_multi_level/services/api/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/testdata/workspace_multi_level/services/worker/gleam.toml b/test/testdata/workspace_multi_level/services/worker/gleam.toml new file mode 100644 index 0000000..7e92fb8 --- /dev/null +++ b/test/testdata/workspace_multi_level/services/worker/gleam.toml @@ -0,0 +1,5 @@ +name = "worker" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_multi_level/services/worker/manifest.toml b/test/testdata/workspace_multi_level/services/worker/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_multi_level/services/worker/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/testdata/workspace_partial/complete/gleam.toml b/test/testdata/workspace_partial/complete/gleam.toml new file mode 100644 index 0000000..00b172c --- /dev/null +++ b/test/testdata/workspace_partial/complete/gleam.toml @@ -0,0 +1,5 @@ +name = "complete" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_partial/complete/manifest.toml b/test/testdata/workspace_partial/complete/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_partial/complete/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/testdata/workspace_partial/only_gleam/gleam.toml b/test/testdata/workspace_partial/only_gleam/gleam.toml new file mode 100644 index 0000000..be4beda --- /dev/null +++ b/test/testdata/workspace_partial/only_gleam/gleam.toml @@ -0,0 +1,5 @@ +name = "only_gleam" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_partial/only_manifest/manifest.toml b/test/testdata/workspace_partial/only_manifest/manifest.toml new file mode 100644 index 0000000..e6fd74e --- /dev/null +++ b/test/testdata/workspace_partial/only_manifest/manifest.toml @@ -0,0 +1,3 @@ +packages = [] + +[requirements] diff --git a/test/testdata/workspace_root_project/gleam.toml b/test/testdata/workspace_root_project/gleam.toml new file mode 100644 index 0000000..6f3f25f --- /dev/null +++ b/test/testdata/workspace_root_project/gleam.toml @@ -0,0 +1,5 @@ +name = "root_app" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_root_project/manifest.toml b/test/testdata/workspace_root_project/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_root_project/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/testdata/workspace_root_project/packages/nested_app/gleam.toml b/test/testdata/workspace_root_project/packages/nested_app/gleam.toml new file mode 100644 index 0000000..f1c59da --- /dev/null +++ b/test/testdata/workspace_root_project/packages/nested_app/gleam.toml @@ -0,0 +1,5 @@ +name = "nested_app" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_root_project/packages/nested_app/manifest.toml b/test/testdata/workspace_root_project/packages/nested_app/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_root_project/packages/nested_app/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/testdata/workspace_skip/.hidden/nested/gleam.toml b/test/testdata/workspace_skip/.hidden/nested/gleam.toml new file mode 100644 index 0000000..ad630de --- /dev/null +++ b/test/testdata/workspace_skip/.hidden/nested/gleam.toml @@ -0,0 +1,5 @@ +name = "dot_hidden" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_skip/.hidden/nested/manifest.toml b/test/testdata/workspace_skip/.hidden/nested/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_skip/.hidden/nested/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/testdata/workspace_skip/build/hidden/gleam.toml b/test/testdata/workspace_skip/build/hidden/gleam.toml new file mode 100644 index 0000000..bc3f1cd --- /dev/null +++ b/test/testdata/workspace_skip/build/hidden/gleam.toml @@ -0,0 +1,5 @@ +name = "build_hidden" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_skip/build/hidden/manifest.toml b/test/testdata/workspace_skip/build/hidden/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_skip/build/hidden/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/testdata/workspace_skip/deps/hidden/gleam.toml b/test/testdata/workspace_skip/deps/hidden/gleam.toml new file mode 100644 index 0000000..11e1d1f --- /dev/null +++ b/test/testdata/workspace_skip/deps/hidden/gleam.toml @@ -0,0 +1,5 @@ +name = "deps_hidden" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_skip/deps/hidden/manifest.toml b/test/testdata/workspace_skip/deps/hidden/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_skip/deps/hidden/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/testdata/workspace_skip/visible/gleam.toml b/test/testdata/workspace_skip/visible/gleam.toml new file mode 100644 index 0000000..f98bb0b --- /dev/null +++ b/test/testdata/workspace_skip/visible/gleam.toml @@ -0,0 +1,5 @@ +name = "visible" +version = "1.0.0" + +[dependencies] +gleam_stdlib = ">= 1.0.0 and < 2.0.0" diff --git a/test/testdata/workspace_skip/visible/manifest.toml b/test/testdata/workspace_skip/visible/manifest.toml new file mode 100644 index 0000000..46aad1c --- /dev/null +++ b/test/testdata/workspace_skip/visible/manifest.toml @@ -0,0 +1,6 @@ +packages = [ + { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "DEADBEEF" }, +] + +[requirements] +gleam_stdlib = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/test/workspace_test.gleam b/test/workspace_test.gleam index 758b407..4985f8e 100644 --- a/test/workspace_test.gleam +++ b/test/workspace_test.gleam @@ -1,13 +1,30 @@ +import gleam/list +import gleam/order +import gleam/string import go_over/workspace +const workspace = "test/testdata/workspace" + +const workspace_depth = "test/testdata/workspace_depth" + +const workspace_root_project = "test/testdata/workspace_root_project" + +const workspace_partial = "test/testdata/workspace_partial" + +const workspace_skip = "test/testdata/workspace_skip" + +const workspace_depth_zero = "test/testdata/workspace_depth_zero" + +const workspace_multi_level = "test/testdata/workspace_multi_level" + pub fn discover_workspace_test() { let workspace.DiscoverResult(projects, skipped) = - workspace.discover("test/testdata/workspace", 3) + workspace.discover(workspace, 3) assert projects == [ - "test/testdata/workspace/app_a", - "test/testdata/workspace/app_b", + workspace <> "/app_a", + workspace <> "/app_b", ] assert skipped == [] } @@ -22,14 +39,218 @@ pub fn discover_empty_test() { pub fn discover_max_depth_test() { let workspace.DiscoverResult(projects, skipped) = - workspace.discover("test/testdata/workspace_depth", 3) + workspace.discover(workspace_depth, 3) + + assert projects + == [ + workspace_depth <> "/at_max/nested/project", + workspace_depth <> "/shallow", + ] + + assert skipped == [workspace_depth <> "/too_deep/nested/nested/project"] +} + +pub fn discover_or_error_empty_test() { + let assert Error(msg) = workspace.discover_or_error("test/testdata/gleam", 3) + + assert msg == "no gleam projects found under test/testdata/gleam" +} + +pub fn discover_or_error_success_test() { + let assert Ok(workspace.DiscoverResult(projects, skipped)) = + workspace.discover_or_error(workspace, 3) + + assert list.length(projects) == 2 + assert skipped == [] +} + +pub fn discover_root_is_project_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_root_project, 3) + + assert projects == [workspace_root_project] + assert skipped == [] +} + +pub fn discover_partial_projects_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_partial, 3) + + assert projects == [workspace_partial <> "/complete"] + assert skipped == [] +} + +pub fn discover_skips_ignored_dirs_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_skip, 3) + + assert projects == [workspace_skip <> "/visible"] + assert skipped == [] +} + +pub fn discover_sorts_projects_test() { + let workspace.DiscoverResult(projects, _) = workspace.discover(workspace, 3) + + assert projects + == list.sort(projects, fn(a, b) { + case string.compare(a, b) { + order.Eq -> order.Eq + order.Lt -> order.Lt + order.Gt -> order.Gt + } + }) +} + +pub fn discover_max_depth_zero_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_depth_zero, 0) + + assert projects == [] + assert skipped == [workspace_depth_zero <> "/container/project"] +} + +pub fn discover_max_depth_one_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_depth, 1) + + assert projects == [workspace_depth <> "/shallow"] + assert skipped + == [ + workspace_depth <> "/at_max/nested/project", + workspace_depth <> "/too_deep/nested/nested/project", + ] +} + +pub fn discover_nonexistent_path_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover("test/testdata/does_not_exist", 3) + + assert projects == [] + assert skipped == [] +} + +pub fn discover_scan_root_is_project_ignores_max_depth_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_root_project, 0) + + assert projects == [workspace_root_project] + assert skipped == [] +} + +pub fn discover_or_error_root_is_project_test() { + let assert Ok(workspace.DiscoverResult(projects, skipped)) = + workspace.discover_or_error(workspace_root_project, 3) + + assert projects == [workspace_root_project] + assert skipped == [] +} + +pub fn discover_root_does_not_descend_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_root_project, 3) + + assert projects == [workspace_root_project] + assert skipped == [] + assert !list.contains( + projects, + workspace_root_project <> "/packages/nested_app", + ) +} + +pub fn discover_multi_level_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_multi_level, 3) assert projects == [ - "test/testdata/workspace_depth/at_max/nested/project", - "test/testdata/workspace_depth/shallow", + workspace_multi_level <> "/libs/common", + workspace_multi_level <> "/services/api", + workspace_multi_level <> "/services/worker", ] + assert skipped == [] +} + +pub fn discover_partial_only_gleam_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_partial <> "/only_gleam", 3) + + assert projects == [] + assert skipped == [] +} + +pub fn discover_partial_only_manifest_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_partial <> "/only_manifest", 3) + + assert projects == [] + assert skipped == [] +} + +pub fn discover_skipped_sorted_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_depth, 1) + assert projects == [workspace_depth <> "/shallow"] assert skipped - == ["test/testdata/workspace_depth/too_deep/nested/nested/project"] + == [ + workspace_depth <> "/at_max/nested/project", + workspace_depth <> "/too_deep/nested/nested/project", + ] + assert skipped + == list.sort(skipped, fn(a, b) { + case string.compare(a, b) { + order.Eq -> order.Eq + order.Lt -> order.Lt + order.Gt -> order.Gt + } + }) +} + +pub fn discover_skips_node_modules_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_skip, 3) + + assert projects == [workspace_skip <> "/visible"] + assert skipped == [] + assert !list.contains(projects, workspace_skip <> "/node_modules/hidden") +} + +pub fn discover_skips_go_over_dir_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_skip, 3) + + assert projects == [workspace_skip <> "/visible"] + assert skipped == [] + assert !list.contains(projects, workspace_skip <> "/.go-over/hidden") +} + +pub fn discover_max_depth_two_test() { + let workspace.DiscoverResult(projects, skipped) = + workspace.discover(workspace_depth, 2) + + assert projects == [workspace_depth <> "/shallow"] + assert skipped + == [ + workspace_depth <> "/at_max/nested/project", + workspace_depth <> "/too_deep/nested/nested/project", + ] +} + +pub fn discover_or_error_nonexistent_test() { + let assert Error(msg) = + workspace.discover_or_error("test/testdata/does_not_exist", 3) + + assert msg == "no gleam projects found under test/testdata/does_not_exist" +} + +pub fn discover_or_error_depth_zero_empty_test() { + let assert Error(msg) = workspace.discover_or_error(workspace_depth_zero, 0) + + assert msg == "no gleam projects found under " <> workspace_depth_zero +} + +pub fn discover_or_error_skipped_only_test() { + let assert Error(msg) = workspace.discover_or_error(workspace_depth, 0) + + assert msg == "no gleam projects found under " <> workspace_depth } From fa2d972f039e6bb4c5e358c762ac03607ea16422 Mon Sep 17 00:00:00 2001 From: bwireman Date: Sun, 7 Jun 2026 10:56:41 -0500 Subject: [PATCH 18/18] asdda --- manifest.toml | 2 +- src/go_over/hex/hex.gleam | 8 ++------ src/go_over/sources.gleam | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/manifest.toml b/manifest.toml index 7ba0c9c..cee9d65 100644 --- a/manifest.toml +++ b/manifest.toml @@ -29,7 +29,7 @@ packages = [ { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "1F543AFBA5D33DA493E6087F4E4C4F20D899411343512686C98A8ABB2963CF22" }, { name = "gleam_time", version = "1.8.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_time", source = "hex", outer_checksum = "533D8723774D61AD4998324F5DD1DABDCDBFABAFB9E87CB5D03C6955448FC97D" }, { name = "gleamsver", version = "1.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleamsver", source = "hex", outer_checksum = "EA74FDC66BF15CB2CF4F8FF9B6FA01D511712EE2B1F4BE0371076ED3F685EEAE" }, - { name = "glearray", version = "2.1.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "glearray", source = "hex", outer_checksum = "C013E0F153E73F5D35609AA6F2570D41D2E35C0DD404E91E847859EE41CBC139" }, + { name = "glearray", version = "2.1.2", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "glearray", source = "hex", outer_checksum = "1554E48DD40114D7602F5BFF4D7278B6B3B735F137C7FDEEADFB2FE7951C94BE" }, { name = "gleave", version = "1.0.1", build_tools = ["gleam"], requirements = [], otp_app = "gleave", source = "hex", outer_checksum = "E34C23F8AD68A3DB19F19EE044193137B0245CB5CEFF83B3B310BD584BF74A07" }, { name = "gleeunit", version = "1.10.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "254B697FE72EEAD7BF82E941723918E421317813AC49923EE76A18C788C61E72" }, { name = "gleither", version = "2.2.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleither", source = "hex", outer_checksum = "4CF283FE767D204A58557F5A5EA3EB247AAEF802B4E57297429F7543D368875C" }, diff --git a/src/go_over/hex/hex.gleam b/src/go_over/hex/hex.gleam index 5f57f59..54ac537 100644 --- a/src/go_over/hex/hex.gleam +++ b/src/go_over/hex/hex.gleam @@ -41,7 +41,7 @@ pub fn decode_licenses(data: String) -> Result(List(String), json.DecodeError) { json.parse(data, decoder) } -fn fetch_licenses(puller: puller.Puller, pkg: Package) -> List(String) { +pub fn fetch_licenses(puller: puller.Puller, pkg: Package) -> List(String) { pkg |> core.package_licenses_path() |> cache.pull_if_not_cached( @@ -67,10 +67,6 @@ pub type HexWarningSource { RejectedLicense(name: String) } -pub fn package_licenses(puller: puller.Puller, pkg: Package) -> List(String) { - fetch_licenses(puller, pkg) -} - pub fn rejected_license_sources( licenses: List(String), allowed_licenses: List(String), @@ -84,6 +80,6 @@ pub fn get_hex_info( pkg: Package, allowed_licenses: List(String), ) -> List(HexWarningSource) { - package_licenses(puller, pkg) + fetch_licenses(puller, pkg) |> rejected_license_sources(allowed_licenses) } diff --git a/src/go_over/sources.gleam b/src/go_over/sources.gleam index 3dea552..17439ae 100644 --- a/src/go_over/sources.gleam +++ b/src/go_over/sources.gleam @@ -42,7 +42,7 @@ pub fn get_hex_warnings( list.fold(pkgs, #([], []), fn(acc, pkg) { let #(warnings, licenses) = acc - let pkg_licenses = hex.package_licenses(conf.puller, pkg) + let pkg_licenses = hex.fetch_licenses(conf.puller, pkg) let pkg_warnings = hex.rejected_license_sources(pkg_licenses, allowed_licenses) |> list.map(fn(source) {

FTimI^;?5WDi^r%Y7O6!vv1)s-MtHW3Nwtu!Y zSqx&F?v&r=`3ad_7JBM=#{!Ho;{Ey(CPuKu`+fiwhS(Bg+iKzya56y2MKm)xC zJmD5%YNJ_GR#b~8rtFxOl>t9H$jy(?L{n6bj_2VECdoyCz%f`H%rC}5F;IN@&dggA zg#B6A_}Py4|EPla0&r7twDdvgNZw5rC&5etcO#BKHUDhD1VMPOYUr9Y$uzl{I_fef z4z!rKdCsxbbp7G2EqGsw(`6BJ!7uoH`KBP$4J|XZ9KRTmQPc1)3l2es?K z!l7i(NLVC}QAgq1j&Sq>f98g>S$324YxV{e!|^o~^=r~JViFDT{!<8WB|hYcz!GnX zKCx^v6VeVDJzCf9y^6(2N^OKn<7*rfQApyUdi|oa71%NYW7iu%DV$9$aB;UflwUhx zIv@j!*a%V!K19c)U8kmT!5Wh3mps;?Gc?O3)nW7D>vkl1XHfW)#+b1hWY8Dg0kjohM@&e(e|9&#mV#W@a8des(bf))4l4VSvHG($s zRZEA$HEWj9IDNv z#St@>+qDN zL-$4-+LC)xT0hHeaPL;+I=BJ34z6s)ZPwHJ*GPVwTnFba*TMag>)^i0b#U`?9o)EF z2Y2Uz`@-QHzh8Z6lk4EzID#;M4PW1^P`!Vx?E=-{NfLH#q;8lm7AIlf4iJYFq$`BUR-*tFi9FzoMr_i> ziUF!UQ=h~nFR~5h_=o~J7U8|J5r&=Eq3lJ$#zK(4`0|)2dRdHEgkk@%(6Gpe7BMWA z4k=lIDgR^P6{+}kJ}#P}+WBJr6S49HE2swoSUtqKq#;ZgDh5(zA8*A4R%q$u4Ttip z+cOdN4E0jU#;-fb@8Co=s={}Qj!~EV7~%dAd1V^TSzp% z0#rPgIsvFk=yxU|I2J_94W#lJ=n(IKWC&tnO1ma!eSr_uiDNl6MG536O8}|?Xyd{s zSW58oTmvmYx%BbV@(Qz?dJ|~4WfDhcEjfg=5hIeQr^@TC((0v^PSkhA4|W&CiEBO~ z#qx)rn0A?WM;SehoZ02&j+j8tLUi$+c@A(Vpv(QA7c?e_F1LN-7_{RR7FAtdFZ5Nm z&=E~cQ~XZvm`+@@RI{gi&H7Tp-zb{mPMe!_LLEmww3>?*8#`gQY})mbrR{a?6ban5 z#LLSAp47r1+m9a*(H#&>JrQHgpq_dspcYpCX^xH705|(^4Pf%|qT{CMXdGZU3pK8T zn7k8v)?fANC#i$rU_X;H-mQG0Ix>oY!Pqku|U*afqb4rzKlc#OC zR7=a#JO1`oa7eNK88&YqVSa&gGV1)8#KRNooI~Y zrtN&UTc@q_`0=V3L^a{+`$Ky=k14az6t2^gDr&f7SDWm_9pjXU_s1h5kGAoTC&i=` zdFdk9$QdrJMVfTBB&Rzz=FZAncul)4odb(~m-oFh_Z@Y&OKH*`i4wia{>eM5i7EsR zuxaviPwv3XP~|0y^_`tqzSPXV;~kCZYyfWj?iCk)<%o_RyIocsQ4Oz>0Q3$kk(BWD zB1|T=>GyR1(+;J~opOO88hPeVvKdpal@Hk za3X^o&cH50H0t*#iY4lG3}Q0RVE73>UaFbMF)W5)aDZM|hgFMIbL_2rf!K)Ki3W67 z0b9vlf-hi@@gG&k=x_tJ;ylwri%lr!E2aXv#E+&2BxD>%3&&KaaO9Fnq!&XwV6UlO zhEL@R9qz=iH~DDQ111IW32?gkAFc-NBUC22{Xt^U*)B;>t2@Nd3}@u;XCvi#GA#`a z6RFa?1YZYeESlMeLJ*=_t$DM#c|JTy_7D)S& zq)LD2$mn@>0gy@Mz{A+eZ1X3-B#270rZx_Fw%fby1sYOYA5=T8CRKmJ(F$XL6*Y=Z z46<0hgD^BH9JGM`;-7_z{h+!C%F|Euf#*`03jUrX_Vh~ZE9`-VN zlB7K!ydG6Z?^ke0feZvuqHfWVjTsrYT6mE~A8PwgmBK*IT51$9h%HhTLGg`NeT0)# zyM-}`5I{xd4e065U}g zErh4qLWkBdToxJd0*>of4sMyPBj&l#d9J>o>Q}mPD%2wxx?>Yvt+Cy`A6jvorxjMP zmSS$!B*i*?RD#jLZBW;G9(9ba=p&UH)uCqT`i&;8P3@)?Y$x9iryd?n#0ftM?BB|B zo#zg|L$$g9mh~VxK!Pc)At*>5bW1TU?7=vQxqcnt2%V_a;Xcc=&;nGnXsb|PG{rn4 z11ZeykinPBD2hZkkmn%ubm>`X|6Jk)o#i++L9J7vX2}eADL|{?S@lU3VGt8}4ZR-f zoZOB{gjl?>bB<;z3)q&^H?6)Lg4aoH`=R!Nj?wiDLM7Lwsl(BYxst$fp+TK{c;>0s z;B^egex92FbO9kTtbuxz#zdM*))y<~l#=Y|z~ ziyfZs{WtF++Sg|DY$|!iEQZr)AjVf>SO>MMgt|sE;RS4!rdzA(q4puQa0$b)iRU)Y z{p?6LANF*e@pRw=x^I#WY^D?JL6@(NmIop6I}YtHW2%Nr)c4J8HfEwN%1^Gl>k#te z$VtNiHk6q)=zRxM!AU4rF)4iY3S}SZ~ zu#Gjo!)Pl+%F&u=x3hOej=!9T$IxMsp>SCS_ z4M5|ev_uX`tHUB0AXnZ%v*^a1Jl)x^sX4Y(s(!lV@o#lOhdzsemme_qG40|D2{?#eGE~=>ZMKg`g0WS?cxLf*(ma!#x<63M ztHSy?;3m23EOn@7D*chJTIQ%*lp{huX^22QFQ#1x_o^q9N}*eX$$RXrtDZ2_LwGjf zY`BHQcD@}}3Am8B>OJ+2a>50jet$EF#4|1280dJ0J@FSl+_T&jV#$Vz*LYfYavp5* z)D%c;zus43>phr)0AK%@vRCNZVo$YF2_m|~qD7)v!=r{<*d=mFU+LzJ%n#MS@4a_# zInQrdVfK8qBlpNpT{oz{bi3z&2Hv-jzS`L*bAefoTP2|C#s3NEmL-Z>5PB>(iOWD^fdK6TdiW@=a{g5XRDyZ=^#Ch3d$MC$-6+uPGNp zF7S_x0HfJwv^U0dF=>R1+zovOe>xiEShX-_y8z4Y?D4v!vYU?w(?+fy{qx#A`>~;y z@RCacF821oN`G2l@l{-W^!2kG|C!DZC+I*v;Qo2Ev!1oDI8Svvh%qVYBdV=`sq8K( zr}kL{tNaU1R6ebWbowwQ{Q10{VILA5BWt=>e0cZJMMj32dr4y4X8y{<*gT)z#vut7@19iAUny)YWtva0Jej`OCAx~V ziy4!($V46~zhp(?VbgOLA*W6%Y+bT7;=WX~=&x74tmx`t6DTuMHp)r9jzNp&yl~1} z?3pxS;+^Hh&((qot z7Xdu$qAeXnuYa*s%IKglKlHk$drvjjIz<}i;2kBb3-tb`cFlE9L=|a<2Vc?wC;De7 zMlF>MJo{K0KZ?b~&Uq`qT{hn3u&(zX>eCj|J~)Cj)Gke`FUNYerqdQ@9d*O`s5_%fBQ{4A^+kB+aG1_e00wdd_UkGhnbxJ;kQ+gX50 z&kp7lT>L(>d491OAgO_k70D;%_bvLCg$1Qg)}}Poi9tT73U&LO?y^=QMukQN>nTfY+@($u@Z@iW#z$bxGK@mWz( z6{kdItGd|)wXH&~Y`B9IC2EgW6wz&AalX+tY{b5f;>+%Fz;lr@z@?r^7I$brm}OQ@ zT*|OvuoS)ou5lTi)Fp~#VF7f|A*PADD;(UA8n+_Se?e7BYT8NOKgJQGLa%#n+yFCO z31V&?Da$A2z(RD!<;`=iL9z{bY#J6h{)0mEc@11?Ia;5>q$N0%G zG(Ari8C*k$`wef%TKfp=B0H~{DzQ1k35d?EdFV2e*Xx)_M;m)RT(v2d?Abe5Ik$6eyk^NhrjF`tg$*H7(O>CsDxe=wUWIm8tawzeX>Y{SY#n zfXBz0VnUrzDk2H#N=*^MKAsD0tk7O&tuf3Mdbg8eK&Mz8b-hQ5iGoW4Wdg){S;E(f zKbZRT_QH{dZLf4mlWMcIKF+-xPsc=8VDCx?bSKJ{2#jeA6t9@jTd!zuz;I5d6*_5f z;MQMJ985GzJ11cU-P!WgWF`_$=Es|n>vr?3@n_aEN#1JnGfE$OxUdS@MKw&1(6$9c z1~lX_CO8^ZHAT201A>D6q;g;U4Y$$+n7$4?^V+hv)(Z`WiPZ*Xh!$6Mr~M!c(xF`_ zX~%8F`%qdl)D3MIm;;x5+FBo<4#9Mr*2u!l0vHyu_#s`VP>yrFzQPwyISMpD8!b~b zPd9<>RwJ~CMsULgv3Exp4JxnX`YM2!}Hakt&Nvm9i5XW@0na^#LsmRh$j2>yfQIBqiV9U%5wP737%F2pt*+#Rn z`B2%DO@93T=5P+@aNpOtuFv&;zg{OuuDsD%@nwjh?BL$r&y(q)&oY?6w*_osN!JWu z-h3}HE(rSKgr1J`>3UEYzk@nzl|I0lP>H<)qp=*lh7eg4Op#mOWXK^>Yg4oH0p4iw z{xV6PzR~Sl7S6Usv)zwOyw+U3M6H#gtlv99E%y(b0SfhgUZG--PwR|=op$G z7_*m7`Shjk{rUVM&(nT2G5}VDbg5vR+w=YRo2V@oWM-SS4p|t$71rbh=9ne0+C3C^ zD!;enkWCokz&x5{zG^=nSc+nH8bNBD@y8?u$*&6@gRM|TnUkYc&TIccBE**2I?zPL zP9m;V?PD>(k(LyMH_zA*VTegCW2DH{eWuB(sNKhzl?-x@;{$Snw_{*;HD8BqkX^B% zD;>{+2$fDIpaLfb37dgmyvbjgwBJ_>x7!=Labvq;dGJ7?-D9>@r;?DQMn~$VyK+!I zingi7fR0#-p^Hksr*tNZC=+U&WXwX&_I{w*U7BS#$Odomnp&u)ef_XVwcX=?|B$n? z8pepvA-mGCfxlD=OM{7yqI9s~53b#QifyPH!~JACItsB8u6Jt|xdFgGAFw3|vHaIK zBj&9|X)007`l*;`X@a_AJHg|NvaBUkixDMW z4(x6Fs6nYMWMjnTdW&WN)pnbad>Qr>mk6Iwr3nz1_&z-O}#-tSvX;zI%WSN%IM?oT`KkXeJJRYTRt436IA=-~>r)QA#7e_ObaiWLm&9FVVuDfBrr4 z?=0BuQy1Hj#WyI~Al?&f;y^f0Ha3$+=>V`T0Kx$HS*WF671SQ4!Wy<-l$XrweACX;5xQD5j#TDVZrI=20k(7~HH>q@dyUDoso z9-2Sq$iExT62gJo(R!i%Fc0m*kNpBVEr}wc6y~;_zXUNRgJX{G#;i$ftW?toMGY+B z+ksQjdfHRvIPR>nmfHy zT9bLC$HL&RQBLY8L>t@T%k0clCDw-*oPXDmr34-ygNcd)L}G_`Am!dzJ(Ep|9kiK0 z*Sk~s&)y=WvGWE4gIlrfKL?({_%WvYfp(k={*nWibg8n*dsn$zp7h^%%{n@{YjSG#3z|EoBC zUK!%RHW{G>xn`lMA3e>QTF64vtt*L{)wbKS>>l%e4AV@LsKk*m^E?k+gVJ%=U0mc5 zi)+1>Q#7Z0W9IKhKpl0?!hnL+DSP|ecL%0Av5L`|z;l=WR0f0}5l*V8Hbrq4mW<)7 z+A*19;n_4oAOL$@Z}+SKu8sjvHH63`+w@V6o;0AiA2*_C(Lcv>6nT`pG;Te z@ea3T*%{sm9SBiHu(eEA7^m`tY1iRS4^|=7N8Y@X{yYRMK6Vv*;H2YnCBBq*d_?HDU1+;GijaLR@-jGU zix45_fl{{ZrzocmP->+H2cyi-8}FzU9)>K`GPQ~Kn8WokE6Ny51z29!WM@;oLSDvT zAiTuFshwt8&I5uqww+4Hw!k>$g3v#3J>vKbqKVHr9VU7;xttwVj-8b&L{Nj~yrP*G zKo%Kl>_xC>q}}h@sns`2-?`8%l4$i=@WfY8RyO7Ci4QqKrCOhc7gI{SVFc zMotG8x{f2b5W0hk6{%BuFvwymHgL}V2BQFtiYZp$@^t8604Y%~FlZ3jR7{6DwM>WL zoL*N3Z7kD~H&D@Qjf_?W+=Y$pq*=A7Lqhf=m+OAc)j65f1eK>fq}Cg2 zA5vSa5FAykn;TrB5f>LaV_K{?X!c*_d=5xIU9f_ESHRmikBteui5`U6;>LD$j%RKT zDY;~MdHy1L(#K%>`=1gjrr;%Nt?uWzTTg-7Q=q#R7?X(Ef&GcSSxhZyI=zn*f|an{ z?^zeVe~5}@BY13zVr(&eTR<#zi___?oE^|Q^>X*Ndm=@iVJ9@&_3zIQA(LPJ%k1(E zcwk*d`|g=eT_3gr#T`bhg^D+x-q3IToQ@Y<4!O<}Bj*C9=QWe4o&u-unaNP0d2+yV zYSGN^p1^g4r;ex{GsO|#XX}1;K^v|5ghlGg1=Gd*t_5HFTLHq<*kPqL$F=85x_fkA@lm!ry}z=AT4$i4fgMJe0Y;uIS*(B? z$LWaR=Jk}aoz$LH!IhV-!}An*DO5}|HQ-_hiquknV>G!9Ksl}s$Wvp+bynpx5?hU8 zt4#z#)1)^6Nx>NXcB}wGUO#P&o#RE+g$B2biXh@Y1 zcKl7u^y-^GS}hlt+0xAYv%Vz>%~?_3t}AVDV;Gm6^!Y%z{ztHJtlw2x^)sW@yDP%- zG;)d(-t&?1cP2XW8@j7fb~ymmm3!Cm=&qyFPTbY-mNCbvlcdKr0bQ@k7gLp&dy&z7 z%0h98`(tI*$Ka`*SL(d>J?Y)&^s}v=-m@xmb1rZDW?jP;w)d$lljX^Z6>o!aj{)cQ z1vkBF(=ru>`wxj(NJi+s>YJ&NlEYhcM|vlh|H=@>LFk4!4C~*3JghR~aarTffcbGp zPuBnQB=m6hS!IN{3K!ZDa_mrH`C-GspYK-NqS^r4?5OI`k2(z-5P1%TX!vupFqJiewH$yA4fH%yY$s1Kn> z*T){enNKyG*>^m2U(A(#aV?{qUnh}|BQ(y)ZOad2?LM+tv9B-&UI$VxUOrUB#;~a* zH4kT`Y%Qabtb{wvcaOU5I)39jNxEy)?d9@BySC#Q3jEKMxu+D}j~OmI58Rn~@s(Z0 zbp>IYmTVSapF+od0ussh03lx|hBd1g`;CKFP9vf|DAE=JO%w^H1 zhMO;3MRe$}gEsv+6+_jnez#eb8y;fnAgqM9t~UIf;4y;7yPom$nsqNS8Q8{oa{YcN zT|o6aQ!zBh=1Q-ZWJT>hb>LJoP>@#^n9aT(vU7Oge4rYRnm8Ze)_VRD`o_s6LvMcH z2A>5!e|H0ZK}-CjHI2Aqx#^A(r{M7CPPbRj7yA*93nMfBjQB;|4cc^f=7qZvf9^&_ z+>6_EFY&^?Ie+e@MBHDv>3+tA`%C}a&x&}EyXnEo3lG-(c~BJbuw>K24Hq76`twj2 zF)6;7gp5FZP^iIUH`_ z0d9W!<3io~Fdgx)&h+A=lj3D3;3$ipeP4dZ6o>ZY{W{&)g$+EjO(UZL3$fp;8aRmg$h}l_KlS=uc&$ zw0(LDt7G@(!x0F zjB>bFV;*|~6RG)U*;nFJ8L>y>FcD?BSNGVKifb3zs>5#n*gTbZX)1Bx-7`S{44|Eg zBDtw8{l~C9O*R-MB0I~jlMP;k>>`EW$UKrvhuWTHwTw!9FlO3y6Q*Bl6}{!<9K#Rg zrKtsq?D_vodJ41$L}4S%uzF{##M*S2M(U}tf6hbo0}iie&x9%QExgS0?Hhb*Ubb!d z`_}N|@C*Ov*ZgH);Y(-^0R4ZbV!coTzt^9hgs)p;(Mh{{IM!wZzaTv7@Lb2R^5((h z#HO~mTBlimcZOH{AH4pL_u{h^25i8g;hll`kIz>J9KN+DeB;mG*uZwJGPc$>q9*Xj z$id|LLjrQW`F8VrtPL5ev3)3qE0W9IJY1$FVvG8j5W2Fv!+hVKqj>sa06m+S1pHdpjk!ZYs=s-wQkaH7=io>u1e&Kp%}+P#x4 zm$@W1C5FkmNL)MX+ew5*cI(otdJ zIBpaY|JRk1Qy=_XmeUaWDP2KeweUnl*PVfIquB%y3*!3~;{?A!C?V|oJ!gC(YeL)K z%u?KgkplFXyq4^S#Jrt(dw(=GQk$ks@NU)1#l-%dC&meLuRzgOS&S@X;w;Q*`YsVE ziLaD8)=UcghqNLT=j_ZCZOwC&Rvz5GY}MN~I`Zed11+0ztJ>Qdl2#o#w6|teM@QH7 zRY$un;_^FtZYAX(JN3LKzw7L$>-ono{>80U^^<0=?!Mw!ySnGP&yCf+w<7UtPK?Z* zz2@YDWwmQgJubLmSabUMW_&^4c*E?1Gq3m77My+8b)(?ir;GT)^IvW)KGHb#yteRS zM7KhSaP3Q6a>>+&hVpki$F-A91wN||puBk>%q}rqHXY!^7px4p)Vpuu><8aH#9?=n&LJv& z^4`ELk98ZNTid?KofD9JuJfyipJiV;uyWZtlgOWxn9C$5#;kc?ehA4^;LG3j6Qn1adu;~Fyy%em&=?NI>37KJ194ZfFj$u? z8?|h}0tP{8qy6{@-fkEflH~wxXuo#IyzLI2L>;#)qQX&Kw8kWFs%^U<2FL^(ScX=} z=3HMtNv^t-K5c^aw^ca&OK}UkS!nf@Qx!BslM*HsrZ;9+edTU9GkscRJ=IVz$P1Vk2Y?B+#Xm`meATxcy_PZCHkV%iR9fyD=)T?&UWMt`-rs}CY)+|kc zT{)eF!&3mi`C};mVE}E%g`7oWX#b~b#1h#R>LGGvKGT?Xk)c?-z<>NvkktkL0P?zC z>S?4p{(AqykSDoX+z}AvWed=UKg-OAVRD;kQKq9R#w-Qo4u-$F9YU4(WY6%8Q@9>Tlt z+m2P#m^ohL%gbR$c19vQxR<6e`3TsN0#+1YHb&gYdP#Jhj!M0`GW2L(N#9`5t+cSQ zy5l|z3B+`G*a%nXEfbR$=wY*Jv5Wi!(D4AnWwuwdA7;gJ7;JcTRrt7)R6-EpEOc)1 z8DyB9!mP)!5^vuKWn3Glb>tpGAdC0kBdCum`)n&v z#d(hkalR@Y!dawq%FgKkj8(aw-0m4-S1P7Uj^;3s@e+#pr z@Pfp;R9ll)+yvV#xZ+#7ScnUpCZ+0_R_)B4%i5zZw${)#xz5g5OQ2useY)C31tCF` zbP&0B<(xv>x@b8KX~}nU9sct0qM?GuVMhlhNAjBIdpST_+{KQ z+tDd@!}TvE*w4{^U~`}v`$$pj_TUZ*UjfdZkfRUk{|}dziKwVsSRN2 zHO3L$zhwd#wtsGdOWiZqkv05X$*!5Ep&UaL9 z^KA$n@Sou;+=&ao7tAO=f4t$FGW=~djfcy#(3NP_%M!;#41C& zNd{dC=iS*o*roQYNJQ9noSdC`3bjfnc950{>-5hNj=zr}tB-$4G|r)&nAZ{6^At9F zsT;!U_nsqZaX093=$Yc=6a1aycKPg7p(kM0SR??!N3 zq69ek;DO|S138?styqrew`If@bnD+1bd63DoK8c0Jbb}mnDzf$|0D=ym5O9S298IQ z>+Eb7QIX5(t$~f*30w>9I7;|uk8P)lEn-Qx?7n$z2)kT;mo#W^WhWrnDye|(yGakO%?5KA@ z2P)ig!rDVn;ifRk7(#7(K?k5#IaG)21vETD0vG*BmFA~_AAX2jsD=kaFa{Z;rs6}P zC^s^K!bBu1>`sru=v>57BaxcEDUOSnBS#ih)fVnRE)^i>^fDOwhCdJMz?r_W>n)eN z6r4~IC)g$rm>7FGau724t}Q2j26D;7$1iaSMsJl0_@A8klk2e57?5QXuJTAyc_Q&IqW@=fe;XctwX> zplZUa2>lSef?b~ofP+-xN~!^+CF2wIz!m|aRe)$!;nQ^RiBX>MZjJSJ`-f)O{ZwoL zGd?%4;1YmI+(sx;!NY)zF20#d6cD4^#yt}KmW}ym8*!Ha8DR_^KY&LaLPaRhS9Lfp z85W?hGst09T5$E3?aB>4GuXvO8!&2S!38oJ!^3Sn1Gna)`*k({i#GeUpe0=qJ*h<} zb73O@uKvgDYyl$bwJ8b0eBhZ(QnA83vvP1(8+OmQ*^WDU%rYK$55i>&cC1qDSfhe_ z>5=D|yE$rxcqO5OyVMQ>L$1K%b;P{_qzk#V=@D)f6KTZ*1GI<^9#Ks*E67ExvDpLv zIiuOsK)5eJ?H*styjvxSMsTpt`F!vGMD0XpI5w37yX^EIb z>b@gX)YQzKszxyhj?xUMnJu9rz&uU2)vsp)##(e?g%*T;8V|Kg5+_B{SI>G-!*$G_Jc|Iu;$ z*Y)Fn-W@mKRG^m%K3j#%SAG8?L?1ndyy}|1=ydM^-Sifnp zMN$n&PBb~Jg5Q4^APGx0(kDaZi2J8cSDf>86P)qy4k@=jB@8ovR%0GHf^fKDKLa@9 z;dhe73_7BSNQcWA=aOQm_?rP>V3vD%3gXe>#(18eRj(}9*~}b%K3D+bY7wPRTImWz ziX4@}L!}9M-Ea+ z)m-cCUJU%mdDG>ttz~|N{?6E6hlx6Dy#Sf@pTXqpjdN@Fd-%QS^J;^0iUqw4C(zQ41R zJ}4wrOuP<5j#}9FWThn!_YpFA!o+x~8S&B5x>48utbiOZ z=b(X5w@#S~OMo637oo^GJ4|}G$T04q`U%1c5Zpy=`pG8kRDk{p^hZ6O3Sqv>vCFh> z0xe0aKry+nC2Zo@)^#7`7z`J*ljC0NQDN*${P`h|m?q!Iw!O~oLm!-%iYlyDy8vGg zJIRS!-F)ND@^tHsb9Gfq>F&qs;I4Y?13A)`DmCJKU3KtMnfChZUi{6IDmYWMVXp~y z7-v2lw*5|Uug9ZP1PK-Vw4FIPg}nU%ry9LMI!eD-=Re0;dU5rz=7ZG!-f%agL`;tlw&@(S?+>VlTLb8a)W{ye zxez7OjS6O!BNHIkc(Vsa;PxC9Uaj|STBBvMfnz+9SPwG?(Bss|ZZ&|L(HVt@-||); ziZS=rfdZ<@K|xaK(qXsyVgLH!VCB=qt@lfoYWwTp+!SIR@+gsqo8sQFrk03H=W=K< z9ZYbJbKY;4E!fG6SGAZq6P;ENY>pNIe;SDAA{KFxX;j3F#R&5@c)Hx$CmT8Ml>sC| z=o{hiqAG;#D`$5VFrmOK5FpF|xScUSM>g{MQCH=-R4(@fFLn=^ScpQu0Ep>q{6l$G z^)u{4HL30!JVd?X>4Bxcf5U^96E3M>ofVAR=|rQOZBmU*R%q-${kk8XqY}(i z=WViW)3|4P(h%WP#0MYPr%xaJ1zXA^KN@rszdyd1(e@79t8>!>3+?eH>>K48YN!C# zPsab}@h{kb40?It9FO2Gf8B74I*0sTz2j3>0X&(vE{Tb^+xK4Z=_7tE%%% zyn1Zdb%qY4=n?aPy#IZ9H;4B*l1dw&eEq%30Lvz?FBmpE^MpRn@r9n$qmNK~q`vsR z=LJi}ii2RhL-a*m&-Z+S7xfpUt*|iTVYFn7wcPF1g&Z$>AeI4Jry|s=;ML1uaRTfV z(?lo7g#F2Spfmne1kbfL57fjfz{JPeuW4U7=G;T3JJ)5V!MgJU+^InHzMN(AlQjz5 z+PFnt?=UC0mHDb&@Q*IS9!k*)G$jn{v=>hM@0mv7Q}ky7N+jDpyF?-5%Ij= zVRPeGDV7T@fy|i>I>=~Q1f2xfcM21&8vXR&`boJ7`?Q^de$BM1)QMInnm4^~1@ai1 z@EMENu(x|F(PleM#^B_xK?6a7tZ%)zsxYZ|T9CLWl3!7(nqJgBUS~s(tx%>N-+R=@ z(vvy6q%!ts#-g*@{;Gc+BiB}x3rw$i?+IVTTt3-%rMjk)->TA9{20mDZ8pn0b9Gbn zHP@AHE!35F#&7s-a=Kj1)+X)>T0db%8}i5R3Ch3Ga?)=cymfZtXMfiw<(uahDtwXK z)!i03RrDQ?-#&5c_K?oLae)3qS^V~rgmWGzR55LP6 z)7p!U>~QuJz3lv@9h<1ZZEMMO+~ng$lj3?tUALnjeAPSE#kNy%D?eoz5v+qPZOTul zY+^<3p&p+5HaKds#lA@=-t2JaVHC60p)#_h7XGc31DCj%*w*sV4Tx%Da7#>UX<1Q% zneTayveIPd2vl3TtmklZjW_jnIDdFlDP-i?BvWQC!?3p&9cZeuk6AW3a=b3y1?Agq z42DxmQ@Xcaog1M7>TWG zL-+ozdE+d#1%E;&vR!n(FG?H)rM!Z!2)M`SCDtsOU1E#6{{bofU2L6W=E}HwM|SJojF)1Whs!7yf0m;aNsuz7aykLBAI zom5+tT4?%ZP8BMO{j6flYinQFG(5#2`;iofyr_5k$C?%OhUnCu4na#LDFd~p`+qFl z$D7HXpu`{Qo1pl$>s8O^b*8i-oGPe8_OmYjsl@F$JvM>ZcVtvpGvm?aEFtoMpR_vi zDR!{R;LvjBJ7&{;YK$0|v67)Ig9^$NO}Us2?3|Jv zZDr>+_8W7q=CSElT5P8EVO8kRYGbH3bIi4YmHBp}G3_Ts`j2C)Jl@KgoZ?RMeRm;t zb&o@ULlyX!`sQQCsWWsexBvW#l0~Ho&xJq8%(z`4{X_AVoXQe;vc@N0GzJ=eBbFQe={}^m;Z{emEBs>2O0cGKMz)u@xgkPUPE8O z25=JC@_4>xXynI2l{6^VN(Fh2WSJ~VS0d)u!(n-}L7=#wvXl)us*BJ_oyM-{tcZ42 zj&Si_V||X2y$$f>ivB7PbLDN6smtK;V+ja1%x*KDmU2pzdZ4HTwe*{+K5Y0{fq`$0 z8UfL66q?;$UO%a<30GlRfV1R0b@gHT8z}!T^r8-seG*WF)eVGQF_m`d##$2FnQW$t zN;-TRG^wCjJ{l6)6dZsTA^P_pU6|)tMnjYMZI*T90UsY_RoZZtRVOtDZUrHnW5?|3 z6w!oaa!oEKQcEgk-xUoC+$OYcU{AW1YcOOP4;8FcJADcTj4W9TYpu{Px(V(m*l)VvPIrx!D#~SU z7M!eKM6)WdqrD5xpF4fUVMv>_f=Ne2x4*mg_--Kf0~0A>NzFu>$_1DKlUT&s2ht@I z&W&f_4iu5aH3hZS#{l1N`>H)5$P48gy0*^MYrk<&jrE)GagAUzE>5ZHqDND(-GG#2 zmjjwmG#GaU%5zXHvbXnd@=9Os+*k~hm;$8doEU76!p=M}%6=0WW;RH}dY36ZT>=hb zdw8U%-wNc6x-Z*~CP6$^G-2187|hWkG?vUHrl#wwu2UZ7C}4P6OH^Di547u4m~u)P zv98x~GY;x@-Q>cDZ6PqGGZ??LSIA1t^-QfUnRns_BJdqo)V0eD8QK?Z>Gt40HC%}^ zvb$CVGOKbC(Qp=72n+2#7ZUG$r!Mz6cCH*@hiJR;zgz82WB{Gt8RPJse8l=auWoiS z?}4Gw<`ov9BQAQXG0D|wP#-GqZu;g$Y2?HQb#X=J+m|lOhL2^Cou8o>5kA4<1A>S zW%=$7XoR0BnMO4a^!kQ2ld@`3e`wx(31HvYk=7^Lyb`@ZhAtnHhOuB)>47=2#*TC# zmRIF-9(~IX=A-~(=O3`r2a;A=`?R3fv(X#mRgu$GZU#0wS`XT3yVK2uGamWA{XwQo ziUb^lV~Y?egYkznXXtG?JY*2XtuNYT76!--gPlzT&wZBDJzxtaNrgt``6%elN3NGw zl`5or+F1T7mK*h$4dpbe47BIK)@Gn$hI*`2!d&~qYp;iPEoe+jMDVGIikGz1BUd;Y zVMmKMg=c@C0S3yic$+s>trL4d`@>pbHM?Qv9Iyl{Sv}N0r(Md@3UdUN?ksTViO`yP zWL_U&&OSW$1lqpV#(Q-Cj~vuOUd*OPN9HIhS?!2*?FcLxY{WSr#}K}Pr3MlE`i z4t{p)&f05~qy3(X`a+$xSJn(C?lHL7IPfJy{O}$)BCSpgP9pexu{&9`VI>sA3-wgP zT~(InoI5?HU5RXXzE=EXL`Hz%d3w|eHOz`B9Ka*Hg~AU0`K#t0Rbfe@oZu@%;jWyj zQ1->uT12o#>*(Vh9&%{wV$OmN!1evH7d`gFG~nkop#vB3su}tm;6Tv|2e(2^9v35J zJI^g2NabJj(9wt(_yR7H#Yg&3_IfZ{!rDc?ebP_AB6}@n6?1-z4N=?J@?PP+~emY_-}MK%iAH!hSWN2O3JQ&ZulOl01W$byX!@Ws!E z)Xps&lixt0fgI&BB#ke#bse_Fr$=QoZt-Ps^LLfjtI_WH^Bl`WzMQJ$J_~ze|4>&O zaYkw1gYmf$&80~F;7W^D(SOB~@2yv->-s&m(TlRc%~J`G1xFM(v|Q1_oRA-641#_! zU$)K)oPq@nT1!^JgR~$`0rS=ZVF#{Qm2FQTi*-L^cG|?w^@>d>hf0O;0=C#o1#{zx zEVRO6HQbE>7EO!2cX}HEhxI9zl)jToepUSl1OH6S^P@tk=MT!)hA&#ZJ5YX^?jfu^ zsyv8EHq{E5kaS5I%!P@}WQtuzgRSe_WY-f)Qg#$A5RlIXi``VxoQe^+?Qsa$1niW$+DU5-M|FE=J5`rnwkzDW^plGa$U7CBtW0`ad1S=Axmf#GEql z(T3)iBjOyY1Xc#NJc_Mlv*!%WDN+8DLq?Igj}q7*Vl?@>A9%s5_Uo?7nJT2r#$q@&>WML9Vo7d-zPy&igLBHFeOpaT_Oqw z7R#?%MLqDWRfyv4Oqxa%F)A(9P#Pq4=$ngAg#v)v9_^=0rle)v!qsequL1^R0&`lB z*4{#VyDB79>h}wnBd99ZAuU5SX?lsJ7A#~T{q!J3_F%s}bZ)W9bW4llW0nsO=@%w? zu<6<8o~7fR&;0TsfbTk<0Xnm^JVT4PA?N;rG9Y~++}Bo=Mnz#J!Mq?5QVTDZBTVcr z`9}lGFsOh@(Q4g8_X)U}Tq1uaOm%icwE!khGQhv0LS3t|4?NdW8m5DcJpyaq|Grng zP(;l$D-#FOj;?Mo!ji;ZSXaE>e;L31YWN+JaU?ifv?U#SL0neItMn=h&&P;2{6V^@ z53VYU%Uyiw$FUc`TwO~{g8|+bNmTTF<*iVK`!)PVCHswT3TR7QDzt0YvDeJvMYlf*?`@|tO_d=vf^)(#%@}k-{a9IT)S`^zrAWBxd!aB zVRM0HqsSmWL@#@N@}*>Qr(OZX@v?E)D)E?N3WM7 zJ=?>KZ(k$F%Toy`LlnxPBTJ!~lbBbNFxTKp%g8s;!=f}Ua>~#n z&Qi>~(uQ8Ed-mXWRb18zr5tQ_1qfVZc{@6Grl`l`?bc6=E$&P51!!X|a^U1M>pH1l zt&lYOC}H~Lb7yESuPTa*C{om;C_(EL(p(jr@&rX}9kTfg{pP@&$>=$9yG)FEg|@0p zCxMOblD@k~>j8|{|4e}{n&K17J-0!R3TS~{ZjM^iKFNt>V;>>mx?0CJtNbEl4qxm% znqTnuJxpJtX}Ik%`smzH%_<%&nq1ZPQj|)Wh+ZbmpXPqffM&6)Hmb1;q6q7UM9z@| zzUk8PQB<*R(T5u^-=6`T__%9F(CaCZxLa`>bd{wtDhF-*k^<*}eGo|HfGerixXcFPwBCVxNS zKrFQ?FbFp0R^X|A5&C>vxwfj9DRD>#Su)fHy);*Wy7S+Hp<^=o=v%DCJJGQJt1&Gs5mGAK2veVNnb>DcOvp(3jmZ^-v<*vFldX| zeOgEw61fZ3xemeBZ3F3swIQxC3}3OoO5`-;@;~cuK5|Ed_ZNSR$oJ8)XpY#uz2?C+ zSjvlawPethA)ZpUO2LhJ5NdNSsHi)gHKV)np|6Q8|HYinDy`#UAE4N2U;+nEdH~Lj)6NuA_ia7 zEm`Y)yvs%LEwpjH4fVeo!w}42l(u%uH~x2_JG+#^5HUC+ClzEwEg=-*@;-Qn{>#*l zixlH9`~y6q=+u8YWQCw=L5pmr;WKnYWO+m6tKD!?^nIU6xsz5HXjXbi{8UvFWE^aVRLPN9JFoaHOl^v8?g5LALrsQ@)9Mf_ z4i4gLqTx{#=4PF`iH_8mVTyj&GMeIQ%mU2fx6zy{u@u{iQU0B1G1h5TrcpP$T#B;6 z&H77W%#TGns2=#?!M6BD`kanpkGqHF?sL4E)uwE;F`y8=mMbnd z$mm|FjFkTPAuG53hCkip)dOa3hB2+WtsN14!)MO)oo$EG?PlHj329Uak_}_vlUkPg z@(~%eNj98fo_D7=`{mj*!7HzmhUg`$1hc31$r_YSp5GWvMWcL`ZU-(2y(6XGu+A zEA=Lc1%Cp>8*knD9#j0E=74#X?RoVe+v+*5zrfx!Rc?aqp0p!)v^9}vz82fJ#peYf zVxseIo?e`L^>dn55GOsPDPYcBs39@SDz_&NUt?`2%nWA_`*5dK)cI}*WkT3H*+7l; zvdTsM&}5Ot_BDpd<#Kk;!D(qdt9)nbx}563=5;&9c+m;H$VD2qYis=OB{qgzJfS#$ z$n*-H!(Mo#!Jp5JF@KZs_{iaXBHNA>Z$t_bzpi>$N5|1}&lq%WOOvFr)AMq)d0`;v zdhDFfB82V2;%i4$17>(@lfva$3%id#*CHG@-MbTqPr9a#wq4q)-CEDVooZ(r1$?{k*pI`Q#DP0hjg7tO{7->T8htxarf zK!wl$+V|WLts@@wg!3Y~t)DNN?NIooh9{|FuHL)O{H*>f%2#DE$$6@)M^-H#OHV%2 zp(b@5JG=G<@q6vSX~(J?BR$wx@|cuZyPKZ#DpyXJ&7=SLm4l0G`ltWW34_gfdG@Tk z2>6xBrGI)x6V^DCcCgND6YrS)edVdcv(9c(-9uO5{~Mj_D!F@m{UY4Udll}N$uN{$ zfG|lqN9c?F^ZLy3o}=4udcB;T!PDqW&ojlPHj6fbq})`F_ejD^Zs4)mAs+*uru_Q7 zK6YVMy?v`k?B99Fq?XUol^eZ$N?`2)XiP>PTs>T{UPr zwC(+zv|QTqRdn7WRR-vtPIC7#I^U5ek|G~Vs!VOX1r@%qY$^7Q~ftW1rZx_`uw zJGe3~Wy1TPm14hBz4HTiste|}C4@u*4W>Jzux?tjffKrxg# z8S##}%5kT?vIm+d^NOhO4f%1&t4kdfen<;*1t~D?7F_p-Yrc%R!vHVr?gc1bs5=^ zRMXw7-`|a1@&m$j>X7+O>H`K(2y#eQnjUI-mk7UuPg~$@^vD*a+b-X^2c}AHKK_>5`mwqmaTL~FMGW9ktJZXA2(wwe^I~_ZFpR`jK zxgryUFByMy=PzisY6!5g&7#?H)!_2UH*SIbRyR~v@|xCaET?q{v!U69WIzaafga3~ zMG=R_>o zy}pezZ~fx~!?5U-B9_jyGkz=F9)c%mWk{F+;h9c)(NjBwYOMoE0^n6A>IcG6YZL9C zd;ZGwpvPh@fC%Tk^wJKYYWP5RFB=u@UhaU?iiw*yVp{tK4itX@oGdmQU17m6UO^6d zR@@txGBCQLARm$Z?j_A>1NOS2dZ{4CnxNl?a^Zp)HV^Hk;#d*&5Y~{aMz=id8x87T zy&`6#H2=2IwySEGnQkXrgFfB&d8r7t%n6yh@v@eTLEYoM`J0YNKX?L}ep6unUQUmrRXYXwCM8 zkmKeQm0#rfHjM+J~lnm3x{tNhT$gWTu5EOeAr_EbS^&s3c59 zDq%{TEa#Y+k`O13CB&KH5IWA-<2Yx&_viP!uKsTBx~{qJ_x)NPPZ>8<)|-SJwZl21 z;Wlw_%T6GG0TI&G^SOLRFMtqChtGu{`HU!`sYX8@(F$cgahgm2-#d&`gZG%A-qI2+ zQBq{J#%kJdxS!HEdh6p045r5?33W{Ci1d|akGiw@&aN6N{TZ`a#%&EZn+1#`dF~83 zXH-K?8F$hnP?XkSCe*+T1dBsi)8T>0RL40W!CuQ^Nc$I|EyyT8#6e>WSy6#`Y(6J@ z3K3VA6x%bXW{8A<@6{l~>WZv~dSzmR%y8E6)Xwa`0`nKo+k`Z~c|4^-{_M5D+nD6uaM^ zJE*l8h**{cSR-S%Y`I6a2BS`6my5VjJQv20=VdAL?tW)$yq%Eu$e8c(BiuZV=l|HM z+*r;Lc92^SSnq%0q?a0_TLQXFJ-LZmqfb@2Io^i{(K&WkwF zQ?F0jfEFow60sJg?qf2}fMx@o=Ryt-Eec0I;3+*4=|4G1wDSkUndtyg$8#^yx)jSi ze0g^lls$WIvty=t$z!c2IUF;p#wsPwWI2}%8SRI8w#U3$WeiyDbRP1^-EZ6q*p_Hx z+9hlTWHJFK5fR9eXOhcKQXF#!Pzy~)7Gkpnt}x42=B~?TOdJ7c)bocS%hYP@C#k(F z=rF^x03r#kfHj`aDUq>(#bjZ#XA5td;9$?3wsJ^FWJi3gMVa?FzC6YA5cBPAGfi5h zZrSn>>lD`%4e{PF7u_*S262tC+`VSCIO0#vtk%HN0VMYD_dCtCIb)b?$oG>p^2ZQ1 z&JL$Yyl`&StEZD#G|Uz77p&ns&Z>hI~-~9V3^No4VTpUdjYSFXKD4!*T(r134%KuYyR$8$X+i&&w#54NR$5+Q4D$x zzV_~d%mmU?1FwE+sHM=94IOI=%J^zQ==c>#vw2RA@CUu3+UX_LT zYKPv}VSPadE;>nIhudY_BX}KGBKNRH`3-{?!+VF% z%b3NQgCm_S-r$Ma&X1AL{b6~^b+j*wKrvdDt(<6{s9M3o%LNeSv z6}*U&mP1UW0|lDhyY^j#is%yzg-Y0ge4AcE(zI0kpUj>iH5BgRxzEZBsXP=6c+vP4 zVu{z7)~r|Ul)DPS_`K+{9dFbw9QjvHJWC*NbV_h|r!{5(T=xGUKillb2jcLl+Wu5_gBdnal}21 zkS~{4qn)j}djnE~fq`<)WvS6DKueZ0ttH>u|8~lkThd|2X1;~1npr7l)74h6yxa*n zA;6s3a2@e^aSzH@=15TUxJt;pFq~@*h96&yWvE@?A;PG_NTFin0x78nh-bx)3KaO@ zbOb&9Y@}DvaS2*?5X~R@*q}BzS<9`(Y9}$@N_ghWX3r}z>$#s~$IolOVb#0WKtLgA zZ|!M;7_4;I@|fIu5-_S9a*2Z(UGkv>@bBiU*6&t6T`jODiiezfVGG|$vy_Kdta}|JP>z?q0tyjxk>?v4 z4(OBK=DSrMa5a@U=A-QB61IZhTMT)+YP`t21x(FN^BkL5n_J278YP4) zkp@qK1~U%gR6;;25Im5NWy36Zh)D;2y$)m0fJGAD`4eD{P~9m*Zu?=oV|>#eC?he- zL0A_M<82x{9FvW8i2#_BstMg%np*juph)~KS{;+sZ2C}k_5W?#Pr(v-kW&Its#fP&M)4Ljwi9WaxaFQJqI+k zfnNEUu7y05E8ulZcKBep$1u+*+lCd#YaRhDRq&Vj@>jrvg~gi;jHFY9d%262Hvj*_w~n)pH)lqC1T%T00t zTHTQU1mCY&`f6h79+{jbRAC+Ch}LTBVXYV9I-^9M!ywcg?mf%{3ZbAunKK?0G|3~M zm9P2>HrE3tED)qg#NWlew=~?cC=9aQlcci>DCdS|C1aht?ot;5^iZNHH^R5-SjLVANBI+fy@vZ-+Ehg!c1)hV_8W%Ye2AE?= zOHRiAp}_P?L%PCUyJVrETI8-A{7GX#zHfd5Jr?M*5xD@9A$Je-wN4+}V5IR&3V*|l z6bWGD>|qxN+la#%_vT~)b1WDpE2T(Aru!($Za{6S9I_T_j1eV%c5~jQZ3m)SBe*bYR9Z@|>&m_f_hmc>q?4vO{Yy0=Y9nhi2#gyy~#y zxXezl$rpY4))&a5P!^noJP1ea2IN7*Ainr|E`20y1>gSI-~MFCq!sc+RLww5bUbMO zspuQ)s@TuBHMGz-KkA4NbSd_kTe|FGkJKne;vjBE4_lZ$0c+=ZfkMf=6qN_eC%gy_ z7Qc2I9CB&(FwE<_G`vpIwU391kfw+vM=nX*x`S2za^)GYX;0acFnIUYmCIBT6B^$o zU&|ea+$N+qi(%)ZK+&te|NB))z8!(epP}52r?!V1As)&kmiAc2&~fMkWCLcU ze&_SA>Q;a`aEKbito?ZKxcQuPTX?W!nv=gA*9(RK9mb)&GDi)RU2L=z>|La0a^&`* zaLl9{U}^ndK)w<>eYqyjs-dvt+(kAaH^sEHP9Bv$$eJjwN8Ef zh?hv4e*AhHYLy*3q{~k`?G(AE-qG)#mwBwVhHj=y-}5|Y^jvIqWA!j7mvm?Ef@7Lh za`?p7khOhpmVp$XOl|S?=R@s;;Lwy#-#hOcQrx{LE4vRm@L!M8nTDQ>TNlmv1F;+N z5&S=$u45v{p+&j%gKrmFa+Jf~ozk)z4CC(SZwb>AP5~Kl>?2-$G&*|thxNBDoZIyI zf0a5NI&j12E^+s-(vPN4#Y05L*9m#*1iyv&Px<@gf6~v`Yes&2FT>othhuK6$Vk(^ zK7liIZm#mLs@az(zbwqfENM=D%!{Ph%~zEA5K?ldaCUgfkY!S`S_a|Bi(XO1?1Lf{ zd0e#S#HyESS+#kbLWyQfny%{`8J&S~&LwKt;|8arcVFL)w6@ZR?afY&sIY%#?I;iO ze*5KWn#j2!t=H{1GL0EDve$Ng)re}U+7uh)-b=d5bP}=*AC8)OR^I-l0k4y_@_Z{D z4hMB9!<9Ki<_B4n(mq1A+kd?FXWLyKrRRy|%HtN^%V?l{lhSLW`G5H;DKx+JdN#&t zJiY$+_ywzCu>@!;vVpK`ZYuGNSj7S|b1lc3Q!lbK^}=_oDU(gZN^Pl&b=8_OTr!-A zwf;2dyoZp?%>>fYAGJxikCigX!k+Cf@Q$PDJ;yNC2=MB8SvYkR1L<&m ztZ|t`F)Xw2WptQ|0+rhyVd{7})r8yLG9coY-0XwV8G4PzKC^qxquuc01Jl*>eq}t5 z_fq~zA-Jb>HU+kviX!7H*SP`F%I)nEj~6OK6{+BRil%1O7!qO+LX|n@emr{^uQSQ*$^BN#j;EYr8@C_XQDG|g`m@@x zut)YF>zxkXm;boA9b>bLQZ!+C(Y^c8s$RTwl^30nNhJ^!r8YtCDRL`cpjf0}`@=lz zhztpIIO?)%L1sOBPSzAp98_1B3=WnXnfxkPOY=00NM+Xl7K4O(tl(Q-(?LC8T$t&~ zA{NaJ+E8r_`{{1{*Q~7eg<9=F&sryC+yf^C&7nu)@b+E!Z z#ZCPQnAFgCxIfRtM4NbZ(hQ>M$)dM^8QsCx?R=q-Acj66*-9Ij&Z}FNF2eb!q^M8& z%J~cp?$X&PI};^g^MDk0R2NB?O_i=@58+d01dcDz7tQ=IjHAu!Xm_DqR2*;N56gI_ zi4eR=pMkCf{h^8wNCB~i(ORiCu6|LPH7i4c&SXCiwpHLGVCpJ8XyPxH!D`;_MTFYV zr|a?5Y|WamiHxuN6?OXKIh-h1yH+fa*$-rzV_D$4e3isCrkxzq{CqgJUkZ#lF!$my zeqowYTeZkii#PI{WVPl_+JpKec((M=8O(yrMSh;XGUQ9Rn#C+8`zXG za!>r#fcjvQMZxAv(Vf0{DoeXD5kaf1VN&uZVagL9G>)M!pU-MzAJ9fQ$FR_rqpYk) zvo{WWETH9HiA`@0YC#(U}?5{YhLDs>Qe7+slFL@m^%W zcq}l|RarnB_yIBxj6OIYBa>rFST;vK%3{b>l{tf2vj>V{3QLEqIm=BO6lgnJE;_Li zWroxgSEEZ}Zd zX-yvqF=h~e%bE>0x!QM~R%%}xhnHIiEY{jd)=`p?YlTk^c{3Ay>kWlM)Zsa-d)>Hi zd>=r)gD+#h5c;Jdi}h__@i!m?6UdUWrR<%iMc4RgTD;*jQy5yJo6pzN;>Jc(jzGL^j3?h2{_DB3xhE zS9u6LeVL;&H<>*lJVjGCFu33An0RDNB7F%sw+p z$t8;Ftk!Vz*%?&yK@qW9-_A`O_;KH>jH9kF;mwxXMLNCJ56f`hd`;D2 zaty`4SR=CQ(VuP$RQ`9?Eo=KZ zr@G36(v7i%7ZUde&D$*E#J9}p8v3Mu#54ZeUTSVQ^EJ2J(tR9Uik~!FGNA$Vy6Rxb z*+d6eGyl74QPn{h-9npl>lJ|f<65g(+O?%dIv}EW$ZA?2#d(R_(t4?nNSr~t#Fpbz zkAaXK9?h+>$1*q%o+dQyNSLQ66BYA2Rsf`V4GEOZ*(EreE;#?XeU0~iHQL4%#l1X5 z4%;u;HC9<3(9fghmWpu9%Ins#1U}I> zxPmP;b}KjG9Vw!Ryrj0a>Q$E!{bQWRQOzf?o0U*cZmHRPC1D9Xz92=3QZ4;w@HgnC zrxn6{7PDHJfN?Kq6V7|*(8tQ*(NJU)_>5JZgq|;dl3EN)2-vkAa_Bi}c29xzI@fV%jrDc)A#)t)c1@ zY;fD%cw8v=t-G)U(pa%YxYoUi92PO1#(ee;#{s^m<{S4q0{`jgX+}#n4m~R8S>tEH zIG7+?j2{_UP(4Z;R2UV3)cL??ni4RNUQxtC;b}};9?JV~{bhR_L{H5GATn5TyA*0_ zN3{zr#+B&(Fk>86_@DVWp)ubH7?@LxyBf1X9oWgX91}5~0Z<7*>6cnfi!BDb@R?Gp z^E?yyHz-s>3YOYo}nWk>)uI(2Lk$>17#MFVvC~3M0q2;Q1 z7Yp2>jLwA7Y`|fWGCD$8No7F{p+|_sfg*A0eu)D%Er^)*mz7(@Nl{(8M1KHeD1n}+ z`J0xZX*%aEx(L>0NB(WJ>s?6-a`AHHN}w7RE?bFW3+=z=x|uX^o+Nxk-b*fjKrk^} z^$eKY0J3#BqTwubxdBXX@QD5$a8}#ZOI)MF*&Z;43+5Y?FSMr8(Q0?Wvucahrur zGzo^LL?K&_U&heQA`2yp7UGnW|_6^~>O}dKSwO0I5RJE&%r*I&>$Cg=uio zxEY(VAU0e#=*=}%y750^X|VG%9i)KKmt_9k`%vocz8gM}_wk4=i94O|ETtRZkQF-Y zr+4is1CEzIU|^)d#6n_*FrOvoB~x2CO8*tgr$4gizrBmw=o`JgAaYkBF7P#Qe`7J&0+7j=eP4fCUF`2G+}wjIZXTgOyb?dpSC8Yo`e1! zNgScCEPz+87*0EQKiM=ZY2HZU^%rU9x|5EY;b^Fopvcsq&*?V}rRkC3phFvOn=T>J z0UyzTD{Z5$5qgD`p}Y5ivwtO~C{x0&rtcX5>EjCL(@i{T%Pye}o z^4RTVwVz+u#@mcf(G2t0LFYZ{wz4-Wp&fC!sPnElO31<93~_M9LTu%5()H~0ZKiXL zCY(I8tOF1>RaNK<^$K_?-)1jF85?tr}jenXgQ6;bMK9@OOlzR4ah5=l}b~#HNf>=2^skVbcNe3IB|TNni}z_kC+lfey?NVlNx+F9>sV%ZInDeU(TL@EzHo z=A?u2fx<`ovK9_)a(kJz1;9Eh(M;;9gum^LSRy&F7sjn!2^3Eqtm$dAD7k1lEPgcB% zkF0^WW5nFKAr40Ukm@Z&w91IRrYoJ=Z8BDDlcIV}P78mo$2OqhE2P^~9KpAa{5)n3cZOPkm7w#STa-M?6dQJkv_fssvM+=q2+e<3R4 zg2JD5C_x@_(qhTlDqlJFyHrC&H< zzmn7|!Q}&N0jxYEc@(h>U9BYT*Ad?>Mek>k(7`19MKt1ujY{XxcMdOntY-zcwr@?J zxBX)aEZr?c?bn&!4s1n+MUMc@(Q}oHwwEoB1PAYtd-!#iiVif%cDX(#3b*gC2*5%Y zN#T0CYFK$n()4_=b9Yb+U*7C-A!TE5W81~bbP>2P;Nxhi+`=?(t&UI#SFF3(^zBja zQ-5D3v-=bafAIpoR}!&!e>W;kc}9YnJBVxVAT$8DSc_x0Ln_h})h}ACzs_V-YLxb{ zp(C}dgD9Nq^{CsDl@ z|E`xK(E3IP+ahq`g=MJuQdWvCDeYs+V1G-%q4dc9M$NYdD+yyvMDyL}QPt#^V8)Kq z`O`hH<?ZB$=ex|_+1tI~#YM;(6NP(jL`7W-2|Sfn zX3sbqxk<1syxRHt@+=T$P8Fjy!E|aS=v2m+bj(V?u#;Z?RSW z2I00H9@wO|B{a$TL=YWjZ#$oZZ3G#mEaP!|+>J}l+T#y{trCltHr#so*rP|m z7i(>%S!nWi^sqA~ZGrC=9r~TM@p<0bO$fNHJ5Vbj2;QO9A*5!O>beyxQnJq!pTYln z|5YnN-ROZB1LKZ+BU$)qYt^};N3VY1GL=xoRVyuw0wyQU?OdM6VeS%P*czL=03jF# z@lxw3!%A(I4y{k0@JxNttb8Qjx9^{SdxFwm)Gb(Ofx*-rCVXoB&BY2MP@~2>QYwFb z_IZ`qGWfP7H}EXWTq43YFS!=9QpcMvkhN~Cnp|)mXV#^}*R@$b)?s9>%olAYMZRv} zdaJuSeCayMh=?Xsk{@VpcC)05SItx$nOVCWB8!&7tfr6<4CkMu!3GbnNkuS^d7fvR zjYZc1sQDV34;tnh<@zw#Xo6>_zlQIEjoyKF*4B3EBFK^yqMV{44mwN(A4vL~l;rG} z*dB>h{vCXOoAH_<2+QJ5N<50sLe@&t9*|^yZ045^$YE~S>L*#fON#h?{e!{#q} z){P)@8iww&{)cp@PvKQC`tCE$$F{!~cdu<~Z;brSMz0y_Srch4St77vrWqlGy^S9H zwIXNRWs%jS#!B)JU?sKPoM}U=A*TIdHJlx@2U+2IvgU=`%qbTpRz!?f)5d`L2A)yB zXkb$ZGL^=7BegARqiAn`DL87BtRwjHY#QyYD%+MU!?V%`=Dr%?>L|p@MLsKx9$QgN zK3StImLBdjiwd1tbi(s6+cBxS^3pa>I}Z;oQ%FnR`|PxT2(x(Z#r&h^!aS$V^shA=B8O5 zyH$Mrv>K@@9AIKju^q8cWwB$GiB^I7okAsxYCNKa_FAk%VJ3xc_#v3gaAWDOc^ypY zBW;KpRW*^(Aib!@lMJjsd}A+C6sGx!RisE04nP#n#a!GuP-Vzw^pXA0~xIk<3anYa4bt zy}~c}bkFoRH;>Daw^_98`gpsrq^Vl_MRN*@!$yUawtaniE41dV^mp6A*VuUjLi&WJ z&h7&K_p7@!pQf>r>s`jM%l*nWz~Mpjod*#0qBq9exss-Jxe1G)aekEoBHCV7$%Yaq zfdMjUe7eTko`!pCac!N_ASKyzJ zy4m=aoNf_&K-N0My6y2*K8C*OfLJO{DtMp5$CX&QzGbh!%;Mw(Lc&nAgFB62zudfCu_| ziPNkIlP>PrmPqQ_?73uI9Dx2Z=u%c3vEsMOEc~Wp_9X-2G!(@4>q$LjoSL^-jwtNr zm9_b6434^t8t>BNQMt`uqfyqQs-X7qTZG%H=mq7#%uYU^KRlntpiC2zwI1tykPGd^D;xOI6!#A4b{yRcV86XORox->o+^ zOWzd-l&}5)ky2zQitgnU ztk0Yj^Axv`P*}5ws2=j3tgp-XvJ|x%uLJ&VfJA+nCb6pU0#`jQ`B%`op;&?;NGdlB zi*OH_(d=jAxa|{HV{>nI#I23}z2)(KFB9&tw@HCiRzna33PI}2fKGFj8XGt#GPuh| zudCdYrk81alfCa%^KR`cY`qY{Rf_MW*jF5^lSEmW^ihuZ11od&Jfzf6!N^`4;;Aop zW_%s_@M9U;Mhx7)%({K(`*JTTJ_`4$U@uR6d?9N6RnK8z*xE`SRLhFCC=&B<-P3t7 zej2C7Hnw!fXS-Z)4Iz%V$2T1`PO5z}DNe;W-Q!sw6vzqvGnJO7)bq}L<^!~KSiDkW zbyU(DlCd6Kz+Q)o;l^@<@08C^;o(J48j_BMCRYw+X5B@-5lYZj`fFxukTh|Xq|~Ul zn;h)A&Z=2;>)F4V78(-$g-Jv8eAi9LR+c6>=(>!agw%SwlIe>KuTa(l%Afuq{o$qd z$oSx|G##Pw3B79Em%m`bSy~hZ+R@s^IED%ijB?ScQCa%EWTxVole6yNZ`7-jwD;j_ z(}d8+JAAvp2CunwN=ixPesX6kG|8l*{L<)OXJX>}8=BI?Dfd8TPYhg95s=hQ#dOE! z^uR5pmA|>|W&Ybi_h^`_4KD_9+;OyDyjp@ZK3Kw4i!G4Ku^D2Gz7Ssp*?m->VIB4+ zEsB7ZQo|>YpAHJKa$0w%#x`cpb;TDF_H+SpVT2}OS>9Fu$4d12ADKjC0Wrw74M>bJ zKaN61TEg$hZ5hMpmQn1Xr$17Cm&3SI$};031<|lRe_82@KG=g@AT<@s%~lAd=>bbFKRlcmj<5EE`*6Yij-L z`*IvIRg21vEM2UuPGo4nQ>+ncZ0(XS?{5F{2l+(Fo@ny=0S)P9GsgVWKcVsG)mP|N zAMI|;Vvcpf(1dFlRjBxT=hs8Twl5=&&d8%NRN5aKbJd&7l{&Ru8wwOiOxpW0Jt8je zHi1!|NeL3%obHwZpIn29%_5?+EVcoA=w;g)FRiwESt-ow6@gFgVtXgw`o!bXO(Vq{D7C82{dH@WXt3C&L0s zwf;zZYNWYhLFxN)3ttv-s0$ZxxlKtNn?fYtrch;qwK1ap{?&zZ$++5PFn`8;q>r+y zQ=ooL0gPYIDD7$$w5^{a>}GYPU@$Lm^!s~kz_`ZZR{^d^A}AlL44axy!(>j_FiVtR z2``JP$L;&N&5KWC(8#QzSfY+)xQ0XFaL;tqM?wn1$1j5Y6BLxSD$>bL|!(lGyRftqMLQ?txU3gBTa3JoSa6e5OPF+xFkAeI1f^p&Sm zRM-bz7M}#!i^N+_H&yHytnkaBg}IV<2Y_XLAW~pR0OBPL$lfy;smE>=riCfcHI>+{ zEF7}dYEb)a72sB}oQnhF&5<{I2?kjnUx)0pvQQtc;WmjeVUiUtddwz0b`^~tH(e4d z!6YvOSHtAVaeS0gT+)>ttH*HksC1ud7a^FS#}o?o_^Uu$U0N;;Ygng7JL}PTYRo1s zPAu=-ivf#dn(3Cg`yxlD+d-d(rjv-bs5m>#D<8C~uuSSB=}O zM!TrMR0&qDl!htYawOQ*0_++^@hTd|m5cVx#yZ5vlnh`%NZcpJJ#<9{2+({MHc`C; z(p1*vR{fO-;)Fmv%jf_LeW$B|^SS{6K4S$9Il5{n2XxhA^7Qo(rYusA$<vG zA%+g!J8HvRM6=bQ*Gn*b4fNp}$`GbBxs`*yQwjQ|TAS;^&N5V}1UoxaG{iXA5OnbM zUBpJflne2m5sawg;Lb=IM}P#ML;f^57ch20tl3B!4?sB~J9^@#-s{kS8;XNafco`J z0mK9ZXc1E7J-9fWeq<4C%R_vL((Y71k;B346Wa?6;uhGf^-Sv0K-D1)LExJVg{Tf) zek8i&2Cn#I@$;iYOjT>v%wfnL<*aWp13)Kn4YK^h5kNjPl$Q$oMzKLFqy<>CYO0cg z1fUrUY@V>V&<&a?TGY;{kKbCj2nhVWWk;HVNCEr75O zpwr(D8qTLG$&aCU7WIvan)EZ<dO{^wsGLfaokd!Zf%(H?&5*uVXFO3U#*#{4f;CRJb&-<}rNR39kV0ezkqA$7iB z$+#61|F+8Z(2C z;eYNFGJE1&P?18MRD$bpJ>K?Mw42!-fa~1y#$u?YYp2wC&&4AriD}85$8Ue{9d~D} z+kVKv-*-sp?i(mX6$i(o?Hlr13ehi4PTlCr-_i7tcsePHej~Ui#=qAko3^DTz^%)>Xm!HsHJ|#iN2p=Ph0Ily(gZz$z+tL<&YNl%~PQK zmBBUksyd!35SKst=7blC0bH{1J9IiUmO)#Ycs>;h6Z8pICKhi6{b|_e+Znu{9G*Wu z^pOX&P`+S~=6z-?jk_N!fsIgJBhibrk`3{@T zV#E93?wrR*nB2b15XOcb=dIj&Vz!wbS>N;DxAUBp48ON$!+z@Z89)EE`rNG>r)FY% zk2b4tPgEOjc9p%gQ2Y0dydJDtOgAN+l}ar+LSU||$LHi}9dy{BINMV_(E5DvSK^7E z5-v98U9t-qSQm`4QKD1zkf-WG!atWC?}0WjUaKd_DjC`*7Y_UbI6oE%7sHQ2>^NM| ziFM$YZ-B#fDA5wM5IVfg1h6#FR0)Q%P$tL(L=QN*n6_*kF!@t^;z0nX&a~_(v_-1h-|EpIpHF0K&^q?S9Cu6xHXAa#Cx`?z9>>dfNEZWt zz66IZOe_SLK;P6)X4J7?8wxdjcdzI#sSN@xSAqI&HDtGbLywvXc%VGkM~>nq%(mE)ZM$#!P!%alh>18o+|1+7ONv{m4KbPp3?w?2*^iS z*GtrBi&Fd$Kp7DeSBcSzF~SBGm_Q@`CW2BG#BmjAc^_zS9VZOy$eK`8@`~!iVgmWB zPk}3WoJL%uZ{aJ5BLGDmijPu(tGT3mT>M|g7hHUcI}uG)#m@Vw$y|kP6JVkwHSs#i zX%)&TGpSTbaGg4ekAdsE3>=XEy}*F%_5w82^QE_8f_E+GF6vWTy*l zi%4L7{O23TTMyAfBKa!khWzpv*73v*zxfLwK9@A6Ch1zqn`wYpOk6K4`L`w==7*Zo zNH-OPOji7VW%ydQZj(#$#q*%&UEgBbNOx5Ue(3r~tO_cdgG<4!+^|9V7 zMuI1%LI)QyrI!{T%PBSz3^8fwFNNxJ|2}r;zCwz7^!+Ebg}Uu-_|TTIt}VuJ{5Z9K z95*Yx*`%ZN>BtWRW+<5Sj7z?xqnuEq6Nh5W^n@3BteHOSnw~VSqO5@%r&*Lf1sSV- zL{wp?xxovB^wluw0S&47lHvpq9YyV@k@|%ecqx=4QJq~sSdTh;L5pE!}e9m*dI?kBptmQo_q=!^2=`zr~&W- z%uzjdcl!%mI<(}!$>Dzo`c`5Ql{|87`_NxkcFbB#hK%&yfaB; zN|?+VTd@50FL9GyOf?1pSFfJ$o*n)+X%Hv2y7N2knAzFeGc2+epdX>cxs3y>xgWK&19;l|2Y|{%2$aH< zRYC}N-we@{$wK@k?rj|W-Gt?OxA%k5yAMISH&vnUo%HA(V#1Me{M9r2cfJQJSp`!W>@7u*F6x8r-gsE*U;hXn3E6?@jdRN*WSYLb;?Q zvX3;KW|6Nb@EeO90>^>fdORRKEaVjsBqgmCg*_qjJZ7j143yqDxQaf0H4 zlO!Ks-8-{XG@tdYX<1G+F}>aFjnv+d;^XN>A80rGZ7JS5jEc^^e{-?S25r6kiDR4b z1^1+`W4Ue1a;jF16sr~X?WpRgOSE}=j<1PD&F?QNxVUUO8iT2nt!K< zhNI;R_o`f3#W~Svo3oh<)S?c&wQ%z8Uyq$!qW3to6cL^eqp{R(wx_fvJ=KB^okXGugG!_4lsOv@3qwHZ4Q>?XKe!5b*$Hjk6V#QC6 zVKwGVH#S zGw@{-xZM~T(R?5ou}YMIE>z0J88&14t{`nC-5Jq zj7?Z-)Wz3vc=jPqHZtZ71s8OZu=7<81iO;rMqQve{Dt zv#r)1UNnS8$F;3#T0MC#vtlA;^Yy*9uH!#4YfB+jZ|rZir!tcpZT*_o+5$-M<%_S-b14DHVuPq=y@tXZXNAf0*?MYY4aeiDc- zPPCP}lKJFv2S^lUU07-yRmX}OXEQ~u??(!52X`n$752M$nH4`9za&mncGN<|aPS)5 z(U77_Tl#Qy#e$+oYft=ZXK5=yVAzb9>k$1VH`08C?ZKNe*Wmg{^8t5Q-n3BM5YZSL zD1On*3mjxK=O4zuY_hc;EI0Fno$Tu!Ty(rWezutKcOEDyN94Do4}cQ3MB<_K~JY%F#Fqhg{RyTqjnS<@IYFv7V^t4K|UsHd9c^LBV)Ob6cCQ7cD0 zM^%!%8Zi+5fe*$d)bdzrV;!RuoG-m%Gph!$gR&qK`_hEQ5BpzNqD^Deq>RcbeD`1} zqjx)2RH8-FXaV}}dI>G2ofMN8{+ZOvbedboLamZeww6!iZ>(0M4@7 zFri5d9v53mD27dPgj%D_AsbY-1{t9QLjBZbnVSLX zA40TcwVXqw>F7^r5I+B5~c`rQv zhmu@7H|+FcYTQ|wMKz=ZhMTt_k6pCf;)HJ4yHazU5L<=`9Y+N$GbUsV$jq__jqwC^ zhe@5>`n$N?atG_m)|w&fUn<)m-*LQ1k!7(;1s~|@qvQ^T<97_meGw%z7w-U=aZOp5 z1t2Bq8sQ-~+V6bd9{0`{)$fI+w87@oX@Sn@WplWjvf$*do~fhYOoZRCM6xiy!#>VR z=9TV+;S9iN=3uFxQm`nSvKh=%L^!AMC|`n28r(HJR#!cSk@8`%jvHl{Ur#L}I|L|0 z&8bLjsBn0i-T+6t_HZ#aYJ1a$(Gku)WqERXxX~${mb+1N^TBnXxr>ErOS#h#&mJMX1E$~0n;yWAqhkuGrkh^&>b=O}=j6^aeM zDG1lRbQ+Ixg?eLYrE#|onjVCQ1EMCL`}J(Wt&IfMron9~`f132PUGs=SF?J5JJkpH zoRPzldfxjEy4?Y++wYXSk-_L{Cu)|PGRt|!`KWKyj=Kkb{q#HrHn}~6!W-JX-6?by zNPx$>zBEhlp=z81jptEmOjwDSv(RnU27{Qq@omu^vto7MoDX$V^Nu`wYUUc_;P zGXl?dE?Bb4mn*kaOUgsA_VRbTzT%NNyTvkI?Ro~E(ZGFmXZhWmL(~r1%g?{n+Iq$P zcUNon6K%w^R}XzNeopS?R#;{zARAW=@ILmM<3>ekL4=lMT?~-T0qNrO=NA1j*IaB> zsAwcNAtz?>p&c|38&d}H@f|e>ZLNs|GMnCsvfy{zGM|g>wb?cT#ngR#Q1GAMW7qWm z6)vvIacvv>#h8crk5+@qdCu4+Yiq8`(p>-sg%Ut=%&E*aezy_3>2m|S0cVlJwqGlPoSz<2c{f%0KvU5k)s z`n~fa7M|UF3I&^6=GLchv6N=enq~kS;nMZ*v0*99f_+3vm)xZ$yip?0)0rGSiB`U? zrAj0uy|i(2_wOLiKE-DB<6qYgjO5KaAQ)q=qLk2Fm#_|8i@qivmf9&J(ao6kT(p3O zTO1>^?K%=DiT>*#^z@>q=_vRFS<MD0ZFi9culkQD(*keVZ{(0*O5fw-}jcqo_aD#w(U@#G>*))Tpnvn^>c@t2P(}laDH}+qKFnrCD;L&xEwIc(-3A|14 zKU)i>OI28#W{I+)mN*W!&PX9WbN)KE(FF<4Rf;0}6bNJ_#s5)sHV!TAe;hw&XOC^I zwc1*1)mBT7veI+moJu802$i@iAw94{hH&=KS`TUnal=MPk|KoMyY(c*jYtS94>w&8 zg-giocYgmswbR-8e$VIoe!pHoQ-w*|?xSBRKzRC5N3GoY7Ln47G7|t>Mj;#p&^3^I zv&@-63U9ue$Y^5v_=GR=iCAxq?Xg8=*x%P(`EiylLTO*{kidAa24*!c(~Z1@KPNqOfOFv+r2__ z`FajM9jy=VcHLgGiy^M^+6~IC#crrQcOn;`#8BXkGJi?2b%T80HFW2AxN|zmM-32$ z%l(cK{Fp$J$Z~NNfvD-`r|({FBnS(@hTkD47t}&rxLJo|zbl=BCoUw@{mPATgu7g#M*=!N`Ws97B~# zx75=sPdbJwvN*&!YC^6?aaQZ%LG~YU!DaL)NiJyYD7(!>l_sUHiIUq&4Z5NCH0CNL+UOLKtkdSjv86SaWqprNsN^g zY&0rTSj1Ufy%l8i_rnF@&kD*qWSlP4Q{*aO$gsz4{fsBo1;FKif<^qo&5toc9j=P6 z3}=)I0^(!G@#{2-e=CY19uV%5kQtEh-Fi>jZ8LHguFX-IP(uoAmf7%=jz1&Lgk?Y! zVFhs6e_!!#M~{%?q8+~;p}z_Ox)xO%{ON?k>gJ=)TAY1PONFsFdbuLzF@P!kl4lp1 z3&8;X!Z|1{#kF@XhBFVinzxA%)`MTfV|4w(FYPDB_Jh`=AStRK3p4I%6hrMmxRyA> zhTwUFK~S*ruz1*9a_< z6ex=2%O$0q)}ly_ig<-Z&46N_gl*8p9aU1`_Vv+%6o^B#Q-fis+oHE z6q_shU-Bt(Mf`A$3?5uARj@{XTOlUpadt&k;>^2nk$Q6v?PJOcXa$3fgYl+|QQ|m$ zJ-=|F_#$x}m@`Uj;QX#_QDu%!PRolTt{ng@MTDFvQW)bfa^E)>uvuhej%X@3jjGZ_ zxVs5J4RJaO-kBh!tp#voe5SNi#n~TtZB=3)x-%g)mtPoDgELRCOyZL|@8LZd z(7be|uS7W=AjA*%J#Q+=<`*tX_ng0)aQ16ePs|N?#yj{%Gm~I& ziNqOksW54SxPVewA^?avBGSz$nJ+-}Dwu7UWy7 zT)W)m!}KJP%1;VTykBb)@&3VzASeqpja#*JG-60?Vk!k}u(dVrOn_Jkm}+DzpDOy^tsar0ughW*y=2e)fYta&O7oO+?&5vqa;Oqz zGy_DjZRz9pwWS z(*K^)FPq=}0pC1jVE={hgG%e>KPi{W7I^KWlEKokb#MH-*`pswz+4_yFheEK@JCAe zY_=4D)F`vzY48<`0(o2$}`fKPn~OANAKW$2qFl(Fq&^}Xxy4LPfu zY@h6KewQw@#`F*_AVmy%tm%pTeI_$X#uHO0%@X6Y^)tFZK0pfg_8_ApeH-DszVE<_+3R0Q_Psd3< z?T=|}mznJZ`fiTR_D3g{d~v#A!fT+9oOwUX>?<@JbaA}!sa=m35 zO2LYIzn=6h!($V*5)eqCXcGN{kxq=Ke9QBGQuB2m|Hk?WFl5VzSq%jNBKg0T{!rFz z9$H+1ZvJ-n30u4Cg|Td>{-TgHZaE5i#D3z{oEIJdcixaKFu&3J+;p=){J|JTc9P~; zI5~@)kz-=(W~uz+xN6pT-ruHaYi0Q~`5nAu)8sc}`uB=1S^h-f{+;V(h0@dT_xa(0 zx))n2*1P81-XiLKWR& z@iMsD{)c74kL%G}>g={YPv7<${=Ojb8)R9=BY&)L`PWnoLN0NQU&gmww#9Byo62o- zTV?w$Z&m+Yc6f8AvV1i#e@jXEw`=Ra&z}H$?dWUmt1ZT9S!2iFJ1-YkfrGJBioB3v)ANbeld-H^EZ#uqU}RV|9fpl z$4+)QV%e+0MSri6om}(ZKR0&F@cOU%_wkoqvdDAN^!>lyA6>Mj`@fCnetlj#`S0Ye z_ECT)f~Je*XXosEQ8_N1Plu{Y95DDWpmvYS>e5V(edM<)O{~1LhDQbMYNqqTy7aN3 zS=Ir}OX;#P#|U14$rQ^udjwRC+v1Gw6p2%JrOBcUk1J!p-6(e0aI3v$_uuVD?F5(d zA72nqcSqXaZ%OnS>^%}~donA5F?_!+>GG|1L5itw{yWeJi4 z=Xt@Y``w?nY`u6Z>gLe7BHcExCvooM_VlJgi%(?lTv7MYh|{6_Zz^uIwy%A3w{C0P z=b>BHiIN@tmzzRwn$J+QeL21uS0;U=rkuc{kwI}X!u&tSeD-a7G;h`3D7W*&4yAT? zyTW$aZhfnfZ~|J@<~9fWHAUXh2c7BR+@fmosuA%s#I-6e+`R8$*Qt~lpPcuQ=m{wV z3*Uvx_;THV60kH#-29BxvS`zz{<&rsx()s)z< zwc!TFwaNn-=}pnWXT#ZXd&`r@Cme{hZ;xwg8@FX_WTFMkn*Fr1U957<*XU?)`m=9u z7exAH4BP#wsuii*bgXMZ6TIWvYb3$cx%t9v>S>}&D`m(hce(ySQvHFm zo%svbqoHHtgAYiHM?1U@y%Q_VW+jLXNQBn44ae>tRWO{LuNo?&ILIK;1|vEZ%xchQ zZ4tuT0zch!-WcjrBlS{jpY_Gg)*^zh`+;kHICI;^>t^^&n%9?gZDtK$2SQEGEFx#- zUAI9xh-^N%lcbVZsJbWBafodn$H9OMVg8-wyIZgSqbG_9XWkZRr@oqQFS)-4v}&A2 zVvjzfY0#6uw|^k|i{%WH3mWQ4qdjZ9&2LC66H4dH&Rozt)qw?{mQUN^aGL)jO=7S} zlPENwK^8Wv{1N{5=0|%cj}TfSYmEret$PnbA!XI1X(pk zG`&AY5%%fXnX-P(2d5rlL+VRtw?x6ItDo9{J+yd8i7xRRKloir(ntXGCh#xPwx1-* zJT*pw6v;f3m($jeLu`hCLj799NT;&E)x%}4YlB?@H`g$nZ$@Dcqf9K%`}M6z7NZZX zjfs;5j+>$0T?pwIzcfK|S5Wr}WTtMOVxEOo=t~g7EfIAE*5qb49QlVM#evc=<_fJ` zQgLctecHMWwV#rc;72-zi;;S}2cqPSLL4b=_pTD?aG%N8XY@Oxb=@ji&@>gG0Hxdx!>z15C1gqN>vt;7wQIt>U3 z6U#a$BR<{Rd|qK8ghQb}`1I5|N4q^R4);jEYYW_F8@bh7l6$rH$dpi=KYTji&ETTV zryW?)%|w@5Mq1#z4TALxIzs9jX%e-8#izcR_jAt@GM_ ztcZ-y98<}IHeU8BWX<1h3R8)}=CiTGzsgzRVfX5s%r*-Pzb5QkvWZlZops3}IB`*x z)rCW^$ul}~%C~$OB9j{RR?RtP+XIeMuOyO@;01|W(&YHr!}ysW8V9z9I5--{7q4IR z`hhR}aR1aA*mD2l+p4;hrg+iR4EH!?LQ|N1Yg8LO7hP#vg1>Q3{kwY^icc-RXseGZ z^u4Z;-^pHTPxjdPrN z$GMA)t-f(y1qA$YZUz}2RF#>OPQ#tNu9cgW!XYUk6}MOX@nwlPveOmI6hw*M`w@|= zE5s?lRuRcPHIqIwif{5<-NEvfmHBA3P`gOQ`k^VC8E2q|$YSlF_k=|rVYHoPM8__p zGE?}IzqKoZ-GiO*_Kfc&Q035nMp}FwKxHQtdQ|d@HdYFVQ^YDSt%kfQeCUur$E3m5 zJl(f?h_h{G=Ou=K?km-qcN$y0g3Q$!gsp~t$&tX>U=dLL+{+UCm#;-lpB z_{LIEynyTq!*2T*6#6GPvQ|{$mMp~l=6`RSe6d0gYo9d$-o*moBuaGT%_sl^?6N?~^fAQqK;$RznVHwSI=cN--9{&L`+ z=EG8yY{X*&vc3yn`65(@57jCdQBu^k%!@oL!I3>jinc5;FHH1!X|hOsh4bakN5Ypx z)1Bi)=N3)S@51~+(-#pLxA{56%Xlxje>dMiJahN_&U>v}`+$*tkLt~92b*eCoL0c} z+KYH09!{B})KF43>LCBFv4>|h%Ju-`@HMsKty5ef*D)MQOqhbv!#4cAh0i_MjKjsG zn9j@>*pz=Y&~teu!}dxNeNrNyj?LSrk?(OkhvkA1%t;55d%vDrZ0mE%pVuBfDQiKGpjPG{iBj%~>n69@kSh;-)qk%rQzHZI?w)sA~*Jtg$1lXmb=J}Yt5R45at zqk)Mwv6TSWZ!otrSSFAIzksv~Bxn?&4Fmo@at2uz&}74Ed5W~#OwAWK@SsmQh|lCW zV&;NzA#v8-;PeS_YLk4*mrz~{%yuGz8$%1%!j2)yv{!&x1AOLJ3TG2cb44iQ`bw>y zk_>XR(z@UYk_!u*0dN(aqDQiZXpPAeR&^~p|R89@Ghdxg@pV#w7&9=K6P8GzmY z7+SDE=CLGZ>ho0352@1*Jr8|1f8^|QBo3Gwps+__;@HwBlfPuX&2k0`^md^X?Qy)O zJSzRACmH&4Q~Od6j9CVMo^jOmU4Ljb>}9voo4$)61(5S9 zjD#$!+ld&q5#JWn&^AN(%rb2+`=B1(|3*f~vExwNhA^uxxk!mnG$+^Ig)(M48VIoO z3de=Eoiz+#TBppa5~d5M#IJ=T@ieOTcy|*@E;V=47`kqWVeh~t;gkq^L1}n@9672q9#wYg-8{PpOrB6 zrTF|ZKhL+8%JNT#dkGxXXD{oFewVUaaxddwfCTiZQz)GjoEA9o)55JwqLS*JPQT+? z^aH-#N6#g4vr?ZdkGQq}Adu+LSy_ov^zdcrT#8oaJ8U3y>HmXIrX}%@CQY$cyVH#D znkmZ&bq46oN%wb%rP9EPGr%q46RXY`&W9hUMaY_RGm)LU6x95BV;>)e!67qS^#`{q ztlt652Qp?Byle#FHpy1sEoXmq_Oc8$8%BHvKVdbE2jNGbA&t0u3d>xMIIXMFD z8fqMwpf}haGH#>e%1*T959!Zb2kdJw+A9v4{AO3?#w^s|NElER>Dn18{kHE|73)l5Eef&^4V+Axm0+_bKT2S7=t(S#K5$PP#4dCKp*#{ z+Sit1r0J`H)`A91$gI+>FWJ?FKQ^lRV zb+EOj%`q7PdgP)65NehSY0vshkuhF5$v$UxoTXbclA>-0n&jBCot_ZpJ<*Q={yI8~ zpX4aW&bZ)eWMf*GTUDWG)Noyh-^fQ>W`vqmhqk>#Ey5M~jg9Kedx<`}Lw9~RiRp9+|K05ZpcW2eIs6D?SkFhzj3T7jEd^UiT$DsOHm zu1hA;IO+~6>|eF|_85|5RTjZ=f1g|rjRM1uIMgZVJec3yHpdT*oeJYy^nt|?|2Kno zLrn=ghM@f9a^REM0B0%&!5lZV&TRCGH<+!#S&R<&FyH#6dG5@E0X{ml9mnRFF)L5; zf|NubnJYdF6zS=4AR+!icaEI<<&E!rfHB>4y*eBU0R59g@zO?~xIZM{0JeZZQLUku zLPZ-v3s~V154QNE9*qd&@xbYO&s$FbrswqBR|l+w1@lIeJu>wkH)Mo?T+ffW(@fg@IN1D#apj{+VQH`0R#dzXL=qoD$ESLmtQtc! z(T-Y0NVUR4Y#?sb^Wwrny24!NANd)b?E{Cc&1f|lhcBH7Tf3w6r==1+1I?I371k|! zng{BtzP!yEos!>nZa6IDODNFwVg5c@@E5~`RB!bFv8+}IvKq)~pAboka}SA^7nu1#(6ld4*poz$OE>BCKBaI#g@ce?=dSNOC7T+9#VXCEoNq4J? z3(bge=JkfIS^pa)3YI~`!dMwbPc56Kw>Mf$Yf^mXcg~qyBb||kkzNDw>JjyUfO8AL z;xhpyOVN_H=F%5FyD|YQEmURL?2ET>s8$3whxt`#552^IuzoX|6+vCC=75C>HsTKX z+eT=x2>)KO^gH!SnQMO73{99r9ZK1#e|ZlIuE4E(8&f{nZ21m7_%%7mxYWA_skXj~ zt?j`Lq0ALf)oVpaeAvceS&mKEjHuREL{;|Fqf1f3%&fNT<#>9C!6qT5+Qq>8Vz6mC zMj5``CJaZ9gLYUSv08uX5X?3r_SK+SKMYAx?4Rd3N?qRh({M{qX+f+;Bd}c~yBoBx zM(6_ovJbI%kZG7u&@1z8LkwoG(CSGoV*dreq&v0sU7?Se^F z$lcG_aaS1=4zY)m*?J`OO+J@r#pTa1dw{Uo(OWh!IE;qm?=u^Sr>3J!EyBbaeEA4- z9Oe&&*!vhF`ajr^5lj3>%mvx?XSS_Y#uI{5)*$w!1AQOEO|*zD180c`sg~f~KS6GV zp~pAeWEgn%bh{xy&+S6$lz+8FhL{=Awo?eJW(GIwjbPVJUh;Mf(ZIA+{qZ?CTnlg+ z@<%@blYGQVC?ji;K0?IJZ!%s?e%QwF?nj31N!TP{g3I4w1@E9%fPK?t9;*!2@d%}5 z`@mn@TPK&v5T9GGw$=4{wZE9Y)4Bp-Ho$bw%%KbFB##|0XYF`3f5+?J{tFG?5gHl- zf7vqKv7jtaivOe^D^Cf-l2vJM!-nVWXVR7p!(lb$`)mT~4)5BWi*~W6RCK@XJw+|u zJKOK;oX@Q(ci8m4>Xg)##Au)GBicFBUy{n`qNOMAjpECrX0FejcsXV<@9>m4`41jk z-Iuxa+;0XID|mlaVts&EobcIY!Cdz0#B_8}6iF~;=1rvMoR^!~(7#8!j2-LvQ$KA* zzdi*l*b5hRbG#D!vsT?c;I*c&Zi`CAoCW+|!Aak>LcD4!so0%u6_Nd?BZUs5+U-2Kfk;3 ztvQr&?k8simf3C$ephfT&V8QhV?uB3rF$V3wASV~CYe`B+hJ1``zJT9p*^WLV_JXH zQ?Sr-VUHfUl5k<(75g-eA(CS}1J9()?U(6zNuy&|tbRc~H*E98p8`81;)MwDL_VYG zY&fc)?z$U(UvCv%vmhKGWLg|&3o9GCO!)nOgL$?T|QKb?Q^ zS>IFfpO|1dp@et9L+tLD7rWtc_P09EwH;qOO*H+B&#ar~c&W?b+o5>e`}4|69{JB+ z7aQf~m$3HZpGlR2g@Uq#B|I+72Z^7!-(Z>VvW6)0@CE?HCR<=pu2bye#RP_0OIl+6 zBw^LLgo|Q@2`x&D6K28RpIeu{-}Cae^l8bPzWgIg-W=T7lbPPF+_dZRv7=@C79V$C zrkRXv%<5_wIe0DU>XJsof5jK8|Lnkmq(P4(I5Vp(54nvZ^QTw&k2W{MBdV`f80B z$5}Z3j zu5V3GHiZ9_@guJ|XK*vWoD0TlrCUb}F*QDs&^CU1*A{ zG+y`m=KaTFLIdH)lLJGSE{ELGmkI7|(|?&b33vF`;>;Ql`W~aQWebE)knUG6G+sYB zIS0T+z&L2qP}{eCHnep-+-hT!TlQiPoOyp@1CaycFOAqQxOR9+*0=J1R+*vHcEf9S zQ|ZH}cDe{aDN7hSWJO)`?mO;|~-acQ610%HDym=wx+ ze$mWyv;;3aN}kzBwCAUQWKOHM_dP}8t@0zZ6vRy`Q&K$A7W>7)jx>XE-ofdGN0S|d zpS#+YJ<-w+8D%Mbkca2_lThYpJ1ao~;o@K>?~Ab~yjKm2ba;pBp)?D!;amlu@qpaH zTGDnXV=YWMEb80Q9Ab`saJ+fB1B{7w;`WWF5tOgDMIrMK>l?}fnlb@Yug zqos4;uBe`ACoimE@|FIcIrn`QE@Jkjz5FzgU=eVv4q7m(wC=I;8FOk%X4XIsPbA7W z;2wAOc$=scqkrbV$t$jsc{!^il|k)$D!NyhO?%8pUHs*ka&pryq`V;RdBgcVS5L3C zT6p^YPRWv-dgY0pv_K#GukmQXL(^MPKg;d^KSxD7`JS*a?nibd{4(3i(Vd;feQ9C# z?rpN|96h_@El3jy%Oft_HQ@u4S!6x#|K^_-qT!D~We~ zL;vqR`dqJFVA}%}Ou}V;9GQuw9-fR09!G9|m=E5LD&TC@mn>;dF<~DY-EQrD_~Wh0 zbISydg4%{d*A^QA3(04C1z@sL(q?0&k1~n92?ROlApWAp@=V89l&o0X!`IQuKW$dT zs||QB(X_3J$LHYraQo3BnQr8tfd9w2s`~9?XMX$dhZS|?H0($oQ(7f|52O{B6Wz1+nI%g#Z8~AAoV&trG0-<*wK;iUsAKf>t zeR%f2&qA`5c20$>=3PY@hbE`Laco)#F*JJU)w8VI|8{mo`9<2~X$OCNIQU|nU)rS^ zho?N?8$s*^`o%)Yg^v-4tztBk6#MqQHFZH(h02nC(%SF3cInAi`Oq0<%EMD zu!!5N)5#WUfPP**+W~7u1aewUg2zK0>oxd*rdFG`>e(Kz&=H69P}WWcR-Ipm3#cBl zDz6Ep6pxZp)ot9yfC6jpI{dt@AXeq7 z0D?+QaFCBtCw%9|3|ZD1l?*qHg04qc=ZC|dFYA#_ zt8rjg4abA*x07@%APee)S*r&vpKAm5&$kFUM`d)o#{!_Ip5zjZf5T^mB23LWxe&IfGu-8y z5V#0CUNF{t_CxBRc|8nmcpHSdM?2h<3bD_P+5JU*bMC(n(a_)i7|HkUT*22 zi9@M%4Z?m?%Fu`jMt-hVHfc>xA(iPVNd{gO2D_D+Rt| zB!I5f1sohSFN48mfZLVAZaGgq2~etH2*+c@32it_7_*A78cM0@Ag|V7lR8L>2B07r z&#u>U05y@1EhnPXD#47i$j$prV z>`&oT%FIuqUo(z*e)OJp-5A`q*Sd3q2~KbR3gN8yY?Y@4MSOO%j;jZ`M}Xayh3?mx z9vyo;?l7l5+%xsrecPd2&lJmPPj67ao}V`9Eh0^~8PIuKZ1A%A?BzH;#HH8!A@-i5 zr-t-Sx_h@Wx)jl`_jsDic(p0kmB@hjySA z22Az52D!Ir#$_GVO-sII>AjmzjN>oe{E)kK6A4|Muvtsu4cgQStoI|VQZY%TW%VN* z>7dO7JpJPrFPVT|BL-@Htx*FvV2~`H7H8NKXJs^dHE0^jr?n%K7BT7)E=*}3WVUEY zF#^s9EvaH};6cQqOl(rc=jsQOPU}ot^dL_bs596+H*2yxz zD`@a$WPQCJ7X(|VEO~W0x?hLKu}`3bDWT8EtkN(_fwYqiF5hGEIMhliqm%;PXSAds znHA=YE;E>&1aLuowo(Vs#3YR#tT(WtjMVe-AjVDhM8W+jR_$6GlW$UrSfsy?{1fJp zLEyRA_LY$+hk5Zb@Ht@HA3r^1{?{^n$4me8vfU?0>22AMH0zQM2-YB&n zVKQO*E16l49*1R!U=*xNVP8cj@lD-i2R&!?pvkL!T%rIcG;prM)Qnm)6D|G0AiV|# zX+{g}Aik>PQo6vpR1cuYIL^qtgwTb2R+o-iqbEP_JzgD?Gi<@BuOo38xBugFy#-(^ z%&gPmoB3Qj0oViE;_}{~^oYEi!l3h6EeOpa-ogblm7q2=1z;umZ^bt=pTW&Kf%i2n z%TvHeN}*@ztU@=Zf7!qOS6&N_pMT?W{xdPalktdP-agvbi3>of(ee;5XIt^kuD+~$ zOR^v5nGCSkz4l|THmt)C%t_7bC;cR(%MvsHoT4*1HpU#s&AIO1a;Iy^&1Y zL*k&8PqoZCgvkNOnXMG*1=~7=i`nH;6FBXBe5Js;o)3J{bG>x{&cLf@P@0FAToJI! zj3yKA6g!lYWRUJYfZ@7W3k~M!pk=JivP_KH3vhn`w!}S2X9md(@ur7-{K$BI;J;uL za+433@|Wg58l)2+vzLe!+eg9TZ_>?z?A`m!9gNKLi2RC?8-Q6Fj5eH<)yD@d9bkMr z$fECO*CM7ufD>g6t_vvtCIwUgcgG-(j9_L^ljO&0{91OBV9^%cq(zOG;5o?Y2J)T; z1}e%Sk&&AKQh9t%)gbvxdd z6)0XfXe!sQxOFV!bS%k1VDsaXWkMwWpn=A#18@qD?y{!HUweDrr6pU825Da9Y#WpV7mVW z{j0aGk^ZYfr+-`0Mr0c~3CP@K0_z4bK&-IfrdV}jmkBVHG~+77JQ^q%OQMyblua-s zmstf2npY#7Cn&y;t&iiI)S~ALjpo9^N#^ilYAy_grdVtF(gZOWXT^#Qv>xIEK{{^2 z^qc7qZ(0g$%JgKExOaFF_z>7Rc7fEaWeE!zTCvBV(Ix@J7F%041N8`#l!XE(uTh1t z*^|w3cMgdSKs`Dvyl!z{U|B0Bg%};2Qmj`arbA-3Ct?-@nyF;0lg4>Ap=W(BoV|_$ zhkjNR2(H@dxDx<4o{J^6sWAvQ8DX{>2?4pceAZewKRNT)ee>3&q8nH1_8IGzog(;D zoqfiwfBl0q{G@&?>D;et=O%+1NXtkjKN~Er&HH<;d&sA{>Aub^%}BxJ>!}l;_Je7swB%z((iHyG%{uNO@bx7JvKx#~ zs--0uA@`r>A^wGzTAwpI<`h0HL}%8Mev7RKJF%^sk#HUy&EsEMbM4YofEuJ@`K54D zWtMI!Ce7&e1&GBTI%W-;v<=kS2rTN*(A0?T)4@R9HSi5!I}>c^9Wzs5KA+-YgkYJC zmT#p5@k=siE?CSZ%FMA*BwdRO5^&>W7O4W8=srrijMZhtGX&<9TF=V}+efyZeshxK zB5vQg-}B+K3L6gY4N#~XyL0bv=6;0jt)oZlmFx74w(`?sj@T3l%o-+*($-+Ut|)*q z{Q2&+tKj-7cI~h1Eg{!Zz0VeI1C5WVT)p`pOwNE<)DS9emxtdjtD|@0&BeW zt;6PxHoAFMVuYGSxI5ms&DqD+qd<&aNi>*pxBF%%*cDrFlXa%6H{WsRQ@ad|BeVOG z&&B2oIW@9b2X)xWN(hp%2T+=LA|G^DAhsik#2CJ19rBHFzwIWnSe9}x;PGthKJz^)Wy_phy1$F0;IyRM&HI`Y(9KS;L&w%_50 zIyZ$*+SsalIp_wGUr@+1Bp-ne zM{OsAXWlWl{&(i|b<%$6@Gb<(FZt;^{q2GO+(G%$YiX%@?`j<1^%k(b*^<+wsj27v zy*6t9X?sPu7?IFYojx|Lx@)&%ic8U|n6^^3t0>u8M3(H`aPhh6&%OPpB5T|26^iM;bNwyGyh(>P)s47M)DaQF>ia-%~gm2JR`Q zJXU+n#&qkgRER%rR6vg;xynuWBvLe_1ASY%@g(QGiZ zQicbUOC4|G*H`xzl5IJAi@7VBdgKITMQ%85xiUqLKY(8uVYW%Ra5ghpup72~AqwrB z<&m6QN~gVx%MhJ<7YAFd=6J!X)#K5zR`GENNIWEkaBPqEVMjU}ufOfF#PZ5qRxoX> z15b!@xND0g73Xm&$#D@W#r2&!-)qD7#0TR8fNX+0FDLY{L;}mLmqu;bHH9J+-S)_+ zxp&KHYqz{pR2P#2U2|A_(}_4a#0Wqy_J^i)(xHI!ruM|B(7Sf5VYHJ%&fKRpH>>x?MbA00FQIkdweN2$EZ$V!tk|;pP$u`@o8NQpCjNbRi{B7|HP5-$ zP_cLg+HNMY(Lug7>IG{vEt2*Uq5P`*9YDD0Ld4Pu=XAG&m!5^g$Jq;tgmXj^%CsD9 ztAl)c($*zxr+|{v9!t}K?tW+@CB`X|-wwb|Ln`t!}g?7c1OZS#s z2dERRHggxjhq!*-qN}FC%T^L`2Q-cm#LQ;ODPB~pBij8o?&O2rDYl{ED45cWW089f1NkJs1N^GN(0c{8;{bG0Qt01+5-co> zg@IiNG0CeWt0I)f#jJqovI2ZJpBCsM!)n(i-VLyj-iQN2`Sc}f9b`gA9rqZj9cg!I zW~1$XAG84*M0ayGVD6i~I3-TWx79JA_sJ(~xYjQ%D3yZ-Ndx$P>PyRm7+15V0T+-~ zY|+!-foif9yMfsIGyC! z!iU&tiS z+(=EY93+QnXM5Y3n`CYroL!VO4~hetR*k0Gq;ejSh(+p1S}V?0MDViPU3BCGOzKW2 z2xtQO?hYNRwkOQ}oz{DQ${41}x#9Sui!yDTad?lY)3ru~&TD96jrb5*+#98dj3J9x z5%Ma9e#E?lMGrb_00F%fKgw%T#Ye15kJ*hZDIX*XV6* zMVj5pGxd59@@b^aQX`z6hE{q6Nr5bM69#WPAv|v|ss0b-o?rPScBus?o~5!;H;3+# z8Yq58hV0G8+kCfrsnbVOQ%$$0hdT!y`mNbO^yApliCR+T#L(d}C6@C@c@&jrfL`zI zbW9%HHFH8txRo}=Cp1U#ozP|$*?e@Pe1Yk@ts6}6B7%>dfRagbpg`J=X+tRBO#tY9 z>e+dyn1)*sbjhacjhx!;=8LNz&n%Cnyz0!LZktp;;!Gw6G{S zw@M#M!m`2_uBI}wD|i-dk)|5?BOxlRgY|kBu5Cx#HAbCQ>{5Nz^-yPJ!N#raw#e^bAt!B zz{jcB1d$88Hw}FU;~fIl2Qj17!f_)M8?bcBlDKP&inl(f_WW0upfSl1hSI0&4f(0N z=_@&#R@#!o{ZfCaY%4Q(*F=SZb_?XDYM6CIEH@9`gN^gV+lDo>Irj%ZziW!y+#cBc zR&t71T^{KonjJKtyGGw=WKIr=BR#sY*`GL`*H_u`I~G=;4GY-A-mORN6+M>;=G6TRzNmZu>-o*hYU2o9uUt#!Cl59cz>-jQM=OinnY@`8Y2=^g_5r) zLE3`G4)=sXi(UFQCyXfO`B*C4tWq60sPkF1_jlX#@aF77Ls^D4<$jPT+|OgY$ku1S zFm=j>gM!L8zL&q>;i^AZ^^U3R2Oe{V)dfDxL1@-d9!KftbL^}xJt8=X`&Rv>+I?Q> z+%U)99Vr!6MaY`ql`v;`l;|u46xKyg`#u?SDQ+lnWtRbufhM_oMimZd@~aq;jI#gE z`o-Er+#dDhY)%wF5{C>CX0#&qN*#V$G1~oFC8pT@q|U6+6F&-y+7?N0H4`g|o!ALq zo@m|l;A=Q$LYTXEiYghSA_O+*kKfDbFPO$>ozTnMOiz4>Xn6W;c@0drd-nC-3s0L% zqyM_risf|8LEas|u#1j4AABwyGYuZq^I8UXB`_RKqejtJVLMC?odiz9>C7I=Da_p# z2S)g3=Z;#;Y5+3%^mL=cb0?>EZFVGowXK+(eNwvC506pU+(k@haqb7n+NGLxXSMVp z@#I_zim6utuIg=2G=9p(W1j6-*X3ySQp_Zj+q= zuL0xnIXc9FBt0M$<3AwoAHCt=QHb#kSUC=SR^nKCfFx468=+YY)lw;dA-_ZmK{FB9 zn+mxypiMQZZ8=ad3U>FYQD69Cj!Ok zZUa3eUJpj`gU);dm<>Jx1Jf12(0)Ztj?fZyfd#yEl8-ad0~UOc1Wy$-f($*-I|Ml} zper>+GsV!EQ((q8AjC+e4E)Yf)80IMsAPT2HzfltaBqN`9B@}SAja7X7=^G5u7$WP z`i7)%NMg%?7Bmng`lNUx^wJ`S2;LvNR|{@8KFuwkdsjC=>T%!{CyknF>%`* z1*&~fQ(L1-bB7@doN0~*m;tCN_Lo8%!C4I(9S4WYqC11kQS4`yuUhM}sY^0{3-GPW3O-*H+OynyNK%ov zuc;7V8C6~YXf7^`;Nw#B_z@C-Icnzg9avBVd5?OMbGOe3UF)PR6^=rIeCX%!UdqCm zyL+G+qrglJG*y4#&14i#)ZqCuYU%QpkNlOwp zRTUKMNObiVL@%ub%;Ip=n=Va5c8-Yqyg+sc^XNq@M-TlGhy8oJ9FAV|hXN%~zBOnj z0UsP!mtgF@Mn{!YYdYfc6w3vNAEh;FHeBEm|CWBL#1}0*I{FxQ#ysQKX~&Z9Iu_UQ z@~PF00nmoEF1FE3ezeZ>mdmyp%I7$`6e~K;1SOxBp$Lwq)Va4UWg#x5Ug2VtVvss9Fmq4jwIE8@=4*`1JcHK5khh?yFdI z2)6*US{`yqJ#_SB{E6v9$5w7#wKRy$Hi>Z2(`0&lyyjFw^vR`HH%e}uP$q2?F^H{N z%Hqo|Sr{yuTa%Y@Y8Cg?j3Ei_iPBZ0Jy7iOVeK(Eqx$Ff<43ku{(S7Ya`)*bCUnNI zoSw9Ra#g#8c;;e;%lu*0ag$oR5xZIUfhWyAq0y)0#WjMAT5RXCVee`Cd$<9o+MCgJ z?{T#o4!L+W6gEaFy@%{(B-N(5)m<$$KK+>$nbTrNdNmtla``0rbW=@B(5uEG zS#y2FsolS9H(qaOiZR}@a<3VTn@KwLG3Lal&!->%QZ3xFr(s?LHLzhxU_kYC-pRn2 zinj%?AGJx~PuX#bxN%HzT@)>%JitxCt5qoypjkAm2pRK=ldZ~Md zhsb-e4jZjLvMZ)7IQgvLy~K4^`>zW}x4b)3%sUgK!zJ=D0qz|g7tYk(JNIn_ zH8Jh^?kgh?V4^R!1m0+$eV}vZ??(Khrqx@O3r-d-Tokj&s`KFc^GmEc4o_}vvsB^l zA&f6#;+gT8+|5w;zQ$p4X6A`w^MX#CS;^~lg@ol$3#Ap6I;yHqPKrUE`eOUm6YIBj z2`@NAUvI2>jeU+V-s$i^HntoIT3Pj=aVp|;`bO7=t@T0B<%8tQt-o#K-naG5TH&u& zy`8nS@v-OH_ZR1#Z1Y-lZqKa0dKPVR4?0V8KUr;6Y0qr4C1tkz{Bz~~;_i#SIO}@F z4$Rv!pY6k<`)U-_i`b-V`hznHUe^13lggng@~-u=zk z!p0cJ3TD4oSn7y3y>V6TsIp9rEWhz;f)T~v`z7V-``G?B9!@+iXflDp!r=0X8QbUI zY-|VnC5(TSj9)s!JPzamUVr=^WyJS;mj`fuDR^TAW3>?2Z%nt=wa2VzZ}X)NkpD#( zV@mAPSMDDW#&?)#E>gt}3N?!cW*~P@wz3k3gu>akNSAc9gZDS=Et#^@DFEh8vuP_x z>r=z`wD8~bF5mf6%KSyAs~Ry60eTv|b;hNOt{yB8Rs9*RFpSH%h%)EM-N40nxdV3} z{4x?Qmbj!+Ee;0cB=ff4r2GSiMk|Hitb6QIAApmK@6tEj{jYY<^n)eX)w-$&gO_Kn zSh};s&qh7<39w&JKc+6V(_B`5P#n2=j{D)sKeVA8a~%RIZw5VSzw)$wiaM;bP#Clr zypKmG#|1C@AWL`(Rb%X|1ijR~iG7fV3iEz*Y+MpJFngAp3WyTyw?IcUQO)kLe0CG^;_rBL3Y;N4(wzd%NIjD{h;8Lijrm(Qp8>D{;hvsw z&uZvsJ7}eJ`umJ8|I|~y!NluSrn8voyE@-VS2=G==BrcsTZ>nJ6+C>r`f2QLj4cxX zQgV+w4BDs((3^YH?J<1uW-|#UgqhnuS)&gD3gVhF?L)S<&mHl*wUev_{_Mm}E(TX- zGEdWbF#**KyJa5lc z*4{jE@UDMQiH}v=<|5#!f^kP_oj88ryPAFjpot*DZ6TBzM(trJl~@5)e;J++-)~jR({&Vf<84(hyw79dbWR|IVQ<;|TBGqHD^ZC-AXD z62=DuiyNP$6QfFaR@MvPqTyq!4i_l~Z8@ZGN(OqE>?pz>L>Nv78Q;Z3O3?6fF7C|S zOWF_z58dz*T>(}f6%a%F2QV+v)A~7#XKI2wzbltR|D~oY#8{RXJOfZ)au~bQuue)$ zBj;lqQ@CJ*D*eawpXKyQ)ecJu>$bCT{nqG$X%3c5d@DkXV@{KcXzML-{o3P8kw~xlP^82Ba&)j#KKNHhT`4xf7(TrgF|L&3Bl&hGM2rz8 zRnHWzfXBZ}$O#CJq5|R=-{;Qxp172e=k_eSIEqxX0&dwlP0LQ{N0oYRTAver3_yb@--P@7K*n%piq1%TNk zE7xSfxbiytsDnLo;#&1JwB;tPU2^`%tkU|N%yJJsZb~V4Q=W=C8tyqjO4n*Ry7buz zdl&1PYWjxFnv+`Ce4WeV>OWYu^3S%P;s_x&?%6 z$MVnayluI1J0?5L<@hX*tQHZcWLajbz3Ik&l^7!~BRNplhPIAK=gEe{=&OS3pyF@H zN+HIj?9nT=y4(=GE4xZHe9ZVk(iJADB(1Jklst@51t+8$ytrm^TIs>?w5YQE;Wb4b zr37muf|++(>T9x{h$jnpj$F*F@qZWf#>jE>4C9}S9-^{sPK{tD+dZiqY_iB?g1gqf zJ|B5-OJ%%Fn?A1Zwp<{~g?DA8c#oK@#V?dL(ZW|X>=P_8qyod^Jo#_?*Y(`VvO@F^e_DIdrW==cB zjn{dlM$n$uQwYp$ZQK>m_0y@CoTJt=mitVT9pyGp7QZS^=zE(cr{{vs)M?6S$D%`n zcXQLrf_{vrmxtl6yEWUY!9rS&?xpRvcg4NL{rZ|?hw_wfA-uKdqQX3)FAJ8=k}V`w zWZijXzdxo?GGZCgrPl99qxqcui-yF_mNV#`_4|d;Xits1F)`ynkXuvQtLjaUhF{`{ zHOuzqv)Bkb;hx~gp2VKfI+NrPfowECRwpJVZ{Z%rnedda%>5j*oc4KI5)1aYQu$8% z1dybDzrQCe-|d#it1C__tpJj&va_t{YbFFEhv_q`w;kVY(^+5=AT~&mUaL2+%ufdV zi;+e2tq22y2P=-seD1t;z?+m7Z^Wf$PR5VO#Gc;vvZTy~P5FbVYg0jLDThmLyd(w- z;Wknj#xS|!b1!AYyaZ=sNxD)dj!m5@au`)(7(8i!V|+d-M`pfVuf8>|1|xMxm?eU6w?eT8qT-JAX-u;BY5@^Ul9OSTPMPmv&={iC2I<_lV-s#eC_O zGovzW+qp|0-|k#X`Kh(*f%C~|4bx1G^qp(~Es96XuO;=7faPeCY!f7QXa9QVda zLmol8$x-5cj?KuL$&K9yEPwwvcVxEIYxStq_)dV|xQBlFO19eOK3dH24UCCm&+!wr zLhHgRV~uiNYLb+hizrHO#?^E?W_s^*jjdevD#OVXU=Ey|IZSr=dgSgwS}({_bSJvUR8LJTXmr zd=juH8OiBv2Q#a9nQ@IsCT^13jMWhMcb3gKoJYiz4ZibxJkV~^(1-u*t}$<}EBy87 zo{NV7w7$|>Jj>&jI0B9j?5to!hqsxW>g+bf7T}D-b&MIoXu-S~Dqg8N!ZCGnyQhi| z4)s>p31$XzDvKz6Z}M$M5!P`ec+j05-{e!hk2%;KA(?#-r! zk+|Tv*n?=|+0j5)Rg+3?9!fJu`GNGT9^(97F!Aj5`DslR=9IT;Qn_kh)h(l9ev;Zd zX*gg1F_gAHs4wLAJ}~r49X5u8;=cxTnN4oqjV#LXn#s+c5WcU*I8K5K+~>xSiT<9{~iye z++ujCK&YRWwwCfqumYo7(vXCLp3G#OtJ{I*aaaael^_^j8p3Szdor6Q(b=y2J z>^$@bL)fB>FcBN%)g3%G|AOHfvfhW%%(d#^V0~+ag;upvtG{!@ET~C1n}fbk1-wQYeEH-E-RBB`#M&u6?04X%$0elvf%2ti#4hhFynSS*>Sk zW?Bh=aQp%BRaegSraf664s7YBOGROlqftZd?E9(ijcV3>qZ9En7tk*Kw?UP#t}t!U zFu_T`=t2(Kn9~ZA8uh)nq*1L>58#bLa4d+Ea#|>7pfGjBd6*ue);~~`3r%`H6Q-ry zC3_nZ-M%GW3w&;I?X3*6=aUHUG&xSLTGKSPY*~IjrHV^iAOGS=#EtE8~cKW0E8AiVz~fyqvBA4@Guw+^EvOJut* zF<&wM8zIJxIWjXoCb9H9D1ujv*Y(y?QB4Rr(7 z55EqZ5T4F8xj~6T*zqBCegfD`4i3xLfKu;&8sN%#yjNQE~Tw15> z_in|fP61;YI2qoFPBww*h`-M`frZG|M#%{^h7hlR^qEkd{T2k{2<_sSZg5l5j_8S!0%a3agf=Tk# z<%P?Xuor^BQTZM`AevJcP}JGfjgATxrsoByE1lMK3|cp({A7Tk!u>E`ic#(&zeLQF z&R4I(eGf%`Sz&Sf{C!WPfCNY-=G%@+<3ap7qK7fZGGbIZC#k@F?u8^G z9suAblj%{eo(dC_aKUA4u3~8?v^gnkb*3d@#N`Tz2sa|liA5%PO@*Ns0MjDW=9G#0@JFTlZS|LgN*NBp ztc446nZ=RbxaFO4b0iQaf)?q#)|X@L#G1odCPq9NsjD!roKU|7Si#TtOahl=<@*cl zmPiPz4EQyA$IGI^tpZ{?A5wnV!7Pt<;TLRRUJn_R?rX0sl~XFn@?m$--^u?90_-97h4uaoJ?xIFv4~eaSiC;80k<1qv5MFAImzd-}{G z*8X3GE#r_lim+LQ578lYog7qO%`u>NjfIupNK_(zlcaDMrZD*VZ8@bRUg(N$X~-G; zDg?@kBCw+NErbbc`S>jYC4r9`j5Y=%kTi;2(TNG(fq#?IwOdEn$i$a);^#5AQdL0=Z_#vL=OtAWCVtwwri8 ziGqm5*3*p(KKGbz>cg+%5T^D4zMTb^>Tj)Vs=n4GyWSO>ri;C$Xy)?s?>iR83XXqM z3pa@i17Mk7>TU}WGU=znZxZ7-L>0Irh)2`4oX%@Dx#|rZ{9jStjtILdqcDe$pE?Q< z#rUJ)F%20p#}wE72hq8_B4^NTVU)~z(Dg%eAZ{E=g9*o~NW`rEjZHDj@&KFixo)$e z7M)_-dcxXV4CUgiX$KPmU)8XFy079WC{Y9TXqk^*1``z_xr%V2+*}0^c?gD6^~4SG zj54Pt$phLDMiVA93OiMB94Ch5gI1I#?Rgq`hH|5h9;0YCp`_}V`_{* zrzA}LHu=)z+v}e$`S{`4@8e6NIoPR)^v3j(ca?}S>LZpT+V?;>ldw)qm_InfLI-$t zd*7}Ct*7oV1`hw40v?X1$vT7rh#4#N6tR?DB(>*bqoc4~zR{5kI_%H#3)S!)I@?rgeYv2%&6_&yU!NKZP9Iw6(mEK-sXz>)Yoohk2}8 z#+r~nH^nA!2}`2?ehIJ|AJN`urD?rMf^_RB@OI6J-2u?fA=TA0V=DfIae2z&(NYvy z{&F)pCgS;olbHIfB4bQ$D}ZhfDQzR34+N!=S$ay`b1SBpU5=26=`J1Vb_x1li~a++ozAIyS(l(Pi;avr<^ zT1I!=%CgIHHKfk?98WGUyUa>@L;JE~<{Ig}w{NT*Ql+-~?8+=L3Bo z<<&RuA_P7FrS0-d(6fB9i^Il__IdCFIBcjgOvvxOng57k~1P#9d$4d}33Ed7aoS)fIE1{+Qu87?)KR zH*oC7+Rtmo{J~gHaY1~ZRK9ri&z1z-p?BL7KkZ(^*yucLx@~QfZWTCV?61qqs}HR@ zF7mhQUXxw$ZgL4@viJ3;wQ*7-mruuXKaD3c48?0GZ-PxWtvE5doLXqZdI%UV9kbed z@Yb!?ie)7>pSmo{5kCQbJuyF|zU0@R)i>kb5_heH9vdoten9_M{r7>GwfU>Xg=YLH z{941b`_BmigpdRtDEX{3d@xR8Jpb|W&Ki^FKe9;z1l3xd{mIYiKBwXag6ANlqJzN! z2uTOn_DM|GLw1|IpFjB2F#eUc>8p99p0OD)8GjvdTNe4xw;)DN*|o3JkD=kav)^&P zNA(|%8ditDS+7Jsus@f_P3HLg_W?Ct-CUe|%kFz7eQQLe_oU~6P8PFyfL~dO|8c;# zFLYt~>B$1aAK zkv~?nRR8jxzGI4 z&VM%@yuDc-nVY|M%cTG3z~w&=kCHv3aH#^^Tc_MZbI7&J-{o&w8*m(nP|E}Cf0N9= zx7+F`J4QCHC2RuMfHr-DOyqLy@h$sKAHNe~kvS)SVeXHrhnr7Dl1&c(yWMko(Pk** zJj5ohJhgOUV5(FTpcrzyRQsmOf|5@{$b+}Cfhxe4k6TexxS02?>Bon;gtE1Kd%EDD zdN0y{8QC-ep`>`uAP(QOoGbxms|x;dS+L>iYdnly!!KB^DhL>tj$*doj2r$n|0@A` z)i5H*j!GwNp7dW{e^l)~J+jSTAmiO0vyr4>#<8pPAYSKv?bUxbfBc2y8elD!ZN;>> z;e491<8S(+C}xtjkVrgOe|Fda6qNq$<4ep_y|811pX%?uF?ZxJetKj7`KdV?E@hJB zl$_T-t($xM5Xi}`yw^*lTNvAibgElj?(XORcQ#jNu-ic(U`GtZ_>pkY0I*=iPGFs4snda*DWBB_5h%aKIL(u zK4BMUw`cFx4X5##!_A+?A}FFvZ64S*VOjkFb1HBX>!V09=$+Nl&t4JFt>0DV=MYye z>O3}^HLWCJrdua(iBz%mRt*=D`X(d^q7b9{*EjDuwXyIP-bV)i?%lPQH{5g2e^V-_K*~f$Wj6pqu`M*`pcHNQM zzwRtNc5u_kzBeTa|J{+(Z%9IW@hMyO^_c}_>j2Bc6TB;QtVBcOHP^}(5xkX#Lif7* zidTzb8^kigsyzE**Bd?FGcoL_%ImJH)q1(f!6b(`j}uf`FW#y@ezeX<`C627F=9BH zSCDaMrtx$(P#6%SM&v~MY#@@?=@SoP%dp*K_kD`^NiB_~dgs<05><|z(FHmR!FUe` z6AFJ6xattWW8%1L$5gC21G9fex*Rh|dre(@fk?;7yoK6h)6a@SP5&;E;_y4$g}qSo z30bP~49CZWqj~(+FiaTRKALx|ew~If!$XA+TrU##R?qYuDREb%7)>cNTlao-o26rG z#_l;0)3ElHzG+1J?Sn%?yCs!Fi%KS`7lo|-DR+oL>m8*EHP)(23auK|MDxNXb%@Ea zrZ0VF^xf}^-S>RtxS#46De0|Vykzs}HP_R%SI91TT#~VCEgWSR!3SM>EIEc=AE{}% zn(m*Z?>SrBzYT-m;@|uXU3b;A+x2Gq-R-fd!uLsCw+fG@R~H|l+3Hhc{Ga7`5GWp{ ziwzpmu@B@gPGh1Bk4)$2HM?tbjGR&ioII9&IVrm)YV@f-B~FglKiyrbc9@-WWYZ?K zwk%M5%H3Oo^~qA3ht!ed&^66yz1CypEAspy4UxhN-5rb%o~|i(^(q-CMK)MmQeSZw zpGVp`%EI*Abn}mcy=F}!DX$;;dkVVa7Fa>gtdSQ5)EG}aAuL;6uOX0$*s0a2Wvkg* zVt@`X{`@bR=0>3Am3I$}m`-*FXuZqU*QU?mOLoTO4$oYnx3#WMrLE0=VU#?f_2_J+ zt?GnG<;Ia_H@T(mV@*bnkODsi*l==MxMvC{B2dvvoj1FV*r+e?>-ZdHhX%LbN(%j& z!9eux+;R!_1-(Rel+M$bjv@u#@3@316C9kh58qxt9~AJrtr}v(aZG(t*1YbLHXXtU zkB&)@x#B$7jmFvfa_cVM67C-bu83c zt?zwUqnB@fkU)(>pHy#SIgf~8v4T2WQBcDO=^t$1VZU&65JPW#t}It zj$-b;37aW4{?~1SZZydPJ z??NwgY_<1xE`Ee`l(xsAfP2b_;@J1vct}}4rN+>9sJs^^{FDF1__`&c+{S)Xa#<7*WJ$vth;~QDKl0q=o1aoan4eh?BZBi;9`Fe93gA z_?G88c4QXM?r-wjUV*inSc}IHuLyo!yLBNm=jg6x*l4aWW|gCyWDjdRCTbW9QtEI_ zbr|3IabeAtJ#{T;Li#@m^)n@;~z-KE8d`hN}FDr`^GDg<*g!Z_`anI4P z0Q*WO#Ht=32gGW+&hUG&l5!bYGHltTSHl)UJQ=O~Nl>c;(CRaQV{aOvTkfOM%WbNR zKzgf&YK=(qTL6j(^xk(P`?b$80Hb#5rh0O!K~*kc-j7hgI<-s~4jW$?)dHRBvIJ9v znYU9&?p#-l<)_+I7$CD`eMDjG8{>h_ZlhQunqO=x@!(``IQT$EpHVKvkaSqzI1$jG z{%OjhMeNyTh--sOY-)+^fjaf5i3Iigm%Kw0mg(N#^!rLjg)T=b+^F@kyN7$1V zX6FnKSSHB@*L(m}ax&qFaK4#(xjEhoz!&v;jObBQ6=C-jg)vGBS495%@@h&^LB&A{ z%^^t7z9oP#j-T<)RD^X+sReUCQvy=9TJ4L1IeisG2R0WQSgtTT(vIMwFziT{`^Dd%YR!lG4qWi4lh~4Y9&1=&mLUPZ;YXd#P~*e-6ywGK|Ny+gmJ~ z#7q-_z_bi4x!k_c5isC4)z@Vj=+6vAno@r>WqJnau$5_wUD;2G^Vo6M7d-p2*IoH} z*RHOct+nA(CcCk7xtqZ7FxI-=2S(p!q6#})YV~Hk>x>wnytG;G(jaR10D$HX^Zn@z97|JFol&j`2LpdH{K7x`@y^vwuzWsRx2dLFppH!2; z;gWX5X1dI3TrHjm!wA$?!7^KH>Z1*ze*HU{^%}EL>uCllo+tbtRq6`{ra&&iGC`j9 z;`GNeieTLTDVY->`b{exAs3D|fG;!eK}dO8A6QBnL}+kHYaWRw z4IZ>K(_03Z?#|xBVU;7U?a;+(&=k}A^ALVg*-WfNhfq%v+F zfsS&XW1&8X)Vm47L&7aw$fj_5UVw ztOAY4)R4;3MJ;4r(Et&T1!RYPK&n+^a}O|5hMYXYyfU;_u{}Xxe@BzOovqx? z8njk(0umt$tk#<+Eta_`VsH1FDR<#B3?b;ikWp3esakw&UC@nnheuC*FkR7v@kaZoG#R>M+4SC5f>bS?IY&K0M_N`;Y(^D zTNbtWIyOoErx+l0KrW8ZRBD(N(`t(NF)3UaH@9&anXnLX5KQ!0sSzXV*Cqvo(!Rbh zI2^r2T2Zp-iiJ`b?n-tCXbefwk<&B*L6Lfj}kD9SGn1uLLe!#Ftm zie~2gFsGCg;vASDkO~yqpZV$;^@z_B*d`@z6?M7o$GUu))xNgSrbj)g+WqNx_+_z_ zlm%D=*=ngu6{g6?evo4B9gm`_m|z&VpCuo_1&fK$fem3?bq_{ zwufvEhN8IUCkqWFT8Lu;ewsD8g8W0|W)gXzCpm?uYtK+?MP&pU?z23ZZb#rOm>P z-!nF5AvV%bY;4QR^N%C&4qiqwx6bEPc$t7FB&8saJi^>kgcld4tD?JA+)!Wsldp-= zZ*#pUdi9h{=>b0lK2PHvB@?S*YR076oGG9F66$F{M)3>~tM=@N8vWG$i4KjpmCiIb z$!yR(FN~Wjd=m@;L^v>ZCBIf{WQx#V)(2T)I?2^m!;y1hZiWk-NZS4h(F0DRLb2R8fPeV~v1t^5;b;%i)RvMki`xAbik;o>UcIvs?nMPn z0XVfOY${v$-E8s-mD3u2!MZ=b&1q|5Mp_Hhf~7WlV6uQo=mmCx>O^?@`RMEurC}*YEJ6Xx<}f=k%D>*l-8;RFlap;Wn2lyMJzlhlsh`grq*g7{z1EnO~LrYs-|GVx80zuz?dU%-K48@V;dd;(7M><-`l987_H(OB44S?Zdlw`fv7 zc9>0*%Ph z2DzOJnr69Q09f~jc~}drXpw@SN7{#8d-sLTwF)zyhnVEtFbyUojP(G%xz4#^&b|e< zaJS1np+~kHMX*ho-5v&wt1^K;Zv?%DPZ42UB(ea7EV&0})`SKrLm3>e9OPf?9=Gw$ zE%Lt(8O=+bHLH8p)f^)Mgg!OerAVn*&5Bu7+hze%!ZDSr#MPqqnd!bn-4D-+-179V z0*Q=^b|-SAiW{o1TIy6FEb@SS({FV{3M}y)d1fqMWEqxPI9}v_mOT!qMkm|cld?G) zXl$eXJXgurwQ+l48@~M6LQTo(C~`eau%1LfKEfZ9nU`zufW`DW134vaYc|F%ycnaC zO(_oxRD_dr>~MPh-?M+pkaB17j?^78vpGAO23wGrPZQ8{%9qpC2McSrbJhQ5P!^5WLNNKRH^hy%!QWS(MYK?9v=I9R+RG2(8m0K-c~Aya`U>uzW2)cr|PkE)P^<0>{^} z^#QyhjZsdhOOJo9=Okh>9%%D&_UViAAY~iQ197XD2lvPa>U8koP3N$ZqIpVeb#bl`UJT;Ut`2(ZaV>4sD zuU?xyxg49vhdv(35nA$$_>6xjs zfB4VPzWr|drzB_PO3q`2H;B$%%GwuF1;NpCD68U#_7%y*Q>AhZ!^kiuF*)PPV+VuM zy-NGaE7-Y`;qGGdfbG`jms)saOwCOVjVQavNIdtS%~n6kb7zja+&c^^{afWVqf>PE zG>J4x=wCW64f`X-sRBXj`NQ*?N-? zh_P5)r_n`h<>vSD>Q5^yvSXxLQl5n7_cQBvq@0&q+>8AFwNj%XFhw7L&yGCJS)1PX zJGvfi96#k_wrJI`9qYl3j~6Ju#5MTIM7h-Ga;^@B9=et51FX}Iu0ewm7lm?4Xw>>^ zBr$UU4d_1M7Fw>YZwX;_-=%b51W!_f2ls!aUi355&NOr3b9FDR zKdvgUup}aiTcws|S7=51-q@!1f05pEo7}wX3H|SJ;Y+JE;~?pJ_$|`u5Z9nbGPWhG zOmoaOd>B5o?LUiA<@7z8jH*RNx14Kwd+SD1(T&PN_FUE5m;dA)^*C0v^a?lam_v)D zOU-XfN!iBN>s(Csm-p4-*6i7MK7aR&glTK4j?pi^|2rJNb(KX7r>6$?74P<%thjp7 z>vh+cXYLmozi)hmcbrRXAMNp8!%efw<_8O&m%Ofh)4gL!mjV9E$9lnyuPcLbs_AQ= zW}RLx__^Wo;mgr-55@UZ@`W`aIw{oT z5HsJ^l)h|bhDuWrldpD7IF^Fx+^Y_O+7%WbaWc66wDf* zc5|;*>LmG*)D>hOS)ErQ^ja(EcOOw=Qv~>sm+ROgqPZ!XOPBfgy0qHYKz2XJaTta2 zrufj;f*W}|r?vL=7f!jmr#bfZ)Tge(`L-qpch^dZah$S<6p#cyel>ab-o81PdOQx{ zH@se2vQPA)e|H&WN*d`Muv3%*A319(C6@Blu$k%Bh90x1b<3o9j)r)3D~-s z9GbYX`s`kj+41}Mt%ByKyIUH=PP+OriEFArJSrH?U8J1X*nyT&vU^MeNAGrnU(alN zCk}Isnw!0ab!ZAQx&#eb+$HKZaK4Rs&9w5rcb!+a(d@0yqRErz2`%5`Wya4U=7iyX zZ~J!WWUtkdMat+GBWlFO0WtC65-M}m1O?I4@bW5q)#cs zzf<8zns;>k&w!+IT$hegq!YfS#&r?Z~Q^&%+&|kvf6!F{5`HAs~(G$3sG;V zvv7J!YW^}a{}bq%jo&ZWSYv5+_}E>wUD-f^P0@`r0z~72I+b~}^&NTp+{{PYWIOhF zUkq>sElWR>&~6F8RRX-j*u$l59aDRE%wLu8Bw1=7)os0&2bS*2erR@Xyf=C!;FYls zXV-O1#h`iY`K$l=9@|8f^3q9HCr;@?-tY~>Now)zShq>fJO_)~on8g&b_|(z!=zSb z0bcpes^U;b$MN}VmW05RE&6Wu>b}^@^ya7RzXICNPyZD7cSGSS{ZZQ%p20`H)r4OH zLp`E=cJP+W`_HDPEZFG1%oL_BC<2S;eMQG(++7Lf`ZOc=GpkqaSn)J4-1ZtG+xRQ{ z^*EXil{vTHkX?CZJ3}cq32yFiHBp#gwU*Lx?`8fv#5hV%9Iuq(0#ywT?BR?p8v?r4 zA&@CE&7xrZ^Nei1y!x_lKDy;|JuXcyN-_D}HkxFdDAZUKXyQu8>O#GJz>Wh>Uofg^3r_8@K@XN(g^AtTU zbQB(#xm{YerX3`!m@Ji!tNLe%XqWMC*Bs}+_CKj5FHC{?+lTS{t86~-;n0UBm@iXk zpK(!9GMuSWdg?~bzMKCQI@@hmIP?Pq=SNaT?Bn<~XP=Cmf7$hDz*AA{p#*0#Bb|Df z(D1>6r>;vk-yn#jrn)~Ns={ERBX%AQ9wM4B&JWH%4cOFZ+0-P>;_dLyGyg2c+KAMY z&QAkm>jA=y!w~CN8(UCxlrcG93>ouU5C=qm!}Fn<0vn)1VXHCrs)=iEVp;bMn-5#k zp9TV-V&c3KZ-0ev*9Uri$>R`Y$knuAAnye>Ry@Q1dg%HUt2{VBQJqPTl8}2e?DD6{ zE2q6CT3+ATnUYdR4*V#MB}0J-30w3>-2&<2-VUueimV|lQS$V0A3GV??I)hflArB9v}Aa3GrXc+nyfwCb+L#eiE zA-#GT<~3sVQEDwnone`t{!(MsRT}<|^W0M(@QbDqyD8hs_2gCopJOS|P_VGsI83ee zFdMD2t>n@sJ;l2%g*M+nOMEKMr_8EIXgeY`S)#~mO zw1(_2rnL>*qU&6fV8BPN-D}V;Nl3MX33F3zom-6$^IQTsoj+itOSL^Qj1q)|XMFk_{?sj>&E@e_u^Lb0 zuv0XKJhlJWEIX7uOcW1((K=R%)0@#o0|_CRLwl&AF`~b6Vr^bY&2nM>8!~{!@-M_7NOF1rRK+#@mH34A7QC>^DS<8*K6{s!lOU=IZL&+L;bDeFe zhAdWML>$(=I@^po%F1r;R3poA1S>YOyAW^pj%!q@CqO=Cq&A4DH!jjxzSLNb>%skE zRwhVF6w`90CS|bl%aI5@VtE2yRIbEaUST^nY~IG<4I`)kY9ne>ClUyj*Q}_+8TG@5 zH!6umQrj?=ZBh0rzLft<-@*@~y-p#E+h*$pO? z3e8G6xq+i^vZU<(I@=Rmnj_+EW8&kq+vjJf!=$vrtQkpBO06$XrN#i@H`wN*#@d+s z1qJjW(B_NACL=W}N0mqY>hTGHIEZf@*JhAwqC#m)4*io!MhVCA!hmg3YS)9dDbIa8 zgT$VG1D-pSCSShT{`g{~GAtjYSaz0Ic!>GY2-bei=|ChcO8hH36sihk@MEw{q$g>Z zp3G%;iOB_ec4Zwc1hn~xkS!6GQb@NHTHA8B#fWKNRzC*@8cbvL)PY$x_%kha=oujP z1VWH-fVmn=Vk)gkW7hcp*~Pdz>Xs2Qs;xfYT4(`bzZ&ZXu#31PG#O9ux=#aBUn`b1JP(P2SF#{jh!Z^D5`@5o`fMQ4Y^;6@%7#lP7wk z9x0RheMKyXSOPPYT-JV=R0(4~dRUC;ja#_%E-^@Np?!m`i#%>=GXZP#x5p)?ftIL- zTA;S96%vSC8)7P646v14ngINxLdYe0>V7qQKbPtYK;QIi)&^FtG-{`5^q#8d89;*H zo`gr?P#WqT>u(VCjMt{*7$N%*=b^E@;!ci*aVoP(V>+ZH44FkOlA;14S^UW-@FS0Y zi(x5@omy?U2SdqV^oty;I4*f(on@0U`Ly4na~mdDFoTDKkK4^t5*hs(Gt`?o(#-qP zAV+1y9u2cbPiU(%I)PvVxoo#O8hTO4(Sy7W+Q@xM7m}KEBVE{G+=Zm5rAAd+vnDZN zqj*|62yWLqoEOuDdRk8^U3KP-1i=(b(Tf+eP3ZH?f6bc?+Pg$APrrnKvkBLFt=)uu z&|X|6=Zq3GyR-U&GSytkF>2=0lqWa+y{YdbY&kg>ByHiuFBZ}~Q~S24NoDOc*@mP9 z4&|1f+FxgSXFX8MTG>#&@;hhQ`y4A&aXg`?l!9y}hjIcwqDZIMaa=r^kKnK@_PXXd^COfr+1 zz4p4UeeJc@_w&729~Bfub&qH9tXN>gv=aQ9SXYN*R%*18peYXs+vK=0^vWMV$y5}Pgz1YSbc>$Ek6@fg85IjayoqifW9(}^90fp& zO*U@cZQx|m)LExCcx;!oneSrBv^r7lm3xohBv-k?9#rB#7eq*cTL2+67<}_?G>xmIbyPBrlX~3}sj46pwT1N<5(0iv$ z$S~gfY~7DxyF&eylVKuA79)`T=Nt)D-Bi0DPh3yKZUTrwAZ+Os75V~E_#J9T%s(>i zPx-DUrXuTUN6{jUR;lVy5^?|810_nx7m2W`>zF;JB2tP9-Hno&5XhGURgoq4ge9X* zPsl87{{4hI-Z)K>R<#KpLL!DqQCNv)ISuziM{igTc}i7pl^`8OXwhL%kPY6T5V%xS zH%(*F+PUOC3#w!p6WOp%mQDZ-7sS@_V__CdQL6#GbGYoiqUFu#|bBSKdv8(o?@ah8$tNkX*XPfwX zF&rhq*O>f^MSMD0m&-qZxv(>sK z=8jZ|BeYVr&$Ke-G?7Q5Q;3BR@iNDP!{T61hI`X~cRW~Cev!7eCGj;NVyS>U!- zoD&r^s52at8a!s}ZzAH)NtIqxC&S`hwD&&T#)EG)i(ZU=uRbOfv>rtx9A zckgXQ2V26-rTX`G-(0BY=1g;AYOsGYQOl~a5mcD9yj}_QJu1Pjb|lV~>6@;{@?3hq znW5qbkRp6V85?%ZCh z75%$@&7;^`3~|*(6@3YGy1DS?ilt>Yo-KMT4n={1vj2QNnK=VE9tIEn(he_46*8FAvNgG z${Wi7{c3<|wDcL&10G)!VDIv!@}JzSsG^*VuOO((^E-&ee5xU10)=*@16lV?B2Y zk6l-a?=cf6uzg~TfPtzvQAbRxoTEv$izN1PNuj(DSti|JOzG)RAEYXulsKUTM4eYf z^ftcT2016kwMt0td7C`8BB}vHr$GE|IojZRq8I6-?<&1=9en+?+AM&NSmo~_)jLXc zcaqc}sQU`tg45n^kDU@M?zsOic&%`2#>uVOmlXr_{8vOawnnb^N_fvj`sog%a%t01 zL)yu|HAt6n90L4NiqR)tY* zcGvuezlFw*ra=iZF|_}tHu0Q;>2o>J)){6U>J}FigND>z{zCh78mA2jt}%3S{5o)0 z{eCDdstmehy&C31>$Kj|5lsy(p6r!(e|`Slq!eLxR6dow#blH(Rqv`MqBqO7MuDFG zb}>5Ze{ErzL@u5rsh8$l^)TId=Db1p;GhUu?Ytw}L&z*X>P<@0k6gxl9mi^kO-IbN zY)XVrYg00e*8b&IYhvzp!Q`U{+@s8yE4p>TRQg=xzuk-N?LAR?S%+Y`_r4i}cKe9x9{_{J#w{$3pf@1Ugj3K|m}* z7T_37q`~1#$`Q1Oei)smxjWATZ|p~m+mNe$RCthRARG(O-#WT}C{9ZvV*6L%($`wV z&V@oKr^3=7Bo^n@=_S{8BJ}k(TF2_AEs>em7w3IVJc8H_d>Vo|4$7@|&o5EHSMa?E zQWcFwiuzrWLF3F?9XCq)-6iOW=@Nrb<|tlI&FcfsCP|{;XpA~#07zdl2!(sbdU4ct z7`DDX*ZuX?>+=$XZQJ=J9Tr%0l(-kI6&+9xV5H^^2nauW90{$Xj(bD53YHI+%@0ra z;vQ~Q2i4oLGx@3$MJ$QMk#mfIl}Xv`L1%w2pwP8Ad%E0g02L)sbK|1}AXZ-b)2e=_ zuF#Mmfe~bF@R`9zK6UEhsuj07z}HT+^aWbM$>My~tzNx@n$`FjI5^7cVdL5r?dR&u z@Nz!oFj0gC|}kC)xA^)LV!DERMT^dp(gCpO`0;K zTO!>As#4BVz9swp5TM3?H_Q7U*`+xeqV(@{l8 zjdS!HQj7}TOXChEuJhs>oNBh_I!jxU8q4gyCaJVvNR}u`Q&7Zd7!*MI@L7-*mCsC6tsJPb zp>*RWL4x+#j`2Hjd)M!XTp2K_SofiWI1X36Z=Qb(I6&NBq)ys}J!&T|4iA#!K4yF2 z%|&Q0t_0{O^K>bKOE5x@mOo=N+h$MK@X};j&jv}U>1OfbCPJ@L#{^L?mIJ;rsNM!a zvq(I637$mS0K=Rr({bRQj{MAf?R4ur?5g z6Ch2hHK}@IGsJYV2mTC`wI-nmOHHA{C7W2(&gb}02^(hzuu~h+hR#v+SKN0D9`SLGYC52%2H&I(9m?x(4B2RK2~0f1wpwSm(|#-8&8S0>Zjqi zHs13LKug^OK0r|PVb?jDrlW4KaeVcxLb7TQn>-3;%`>~R=t z$8GCq*zPC<&y1Co#!cTkI&!o^wdV8T&zW+S(S`n1bJEiI6bW=r0Mih#@Lt(=EI$V} ze%XhTnCd9_R^qrOPf>D-!V=CNC8?*emUpU&4$CIZZL4gUB!C>?%W~A-Og_H4LAuU!YuyrDFB>A7!|(5hs6d}gK{{Eg(b;cc z+7zh{Tq*)SyRxlS4Zg3qd78)JS+)t8*I;(U&yaW-T745`q7 zPU6&loxmDWSxZ>cNPA#Zgkf?cPBZgKo0`;S1|iri4?qc|IC)=Lenlw?Q-7&8m|c)S z9WnyD%0 zxXsx-e1jknCnkN|yJ>tgdL2}1n3n$2Y2*IYGnkLR3)J80BT-&6dYH3?E@5oILg-=m zi`%bNZ4OnVwRlN^0ZVjyJ~A^d@YY5%L`|#zMutf#1!Y{F$;byOCa2$s5lI`9?{4V$ zdg&E^@vOmqsw{Gb3P~36R*TB`D#UMe|(?;fpeBlg|Qv2{8$=MA%zBE?=ozC5I)1EjPI^-lXYdLP#L=V1o!s7cUW@ z&gx$#6hqz5ciq+MJQEWu10%*=u+Zk+wS0*eMz7S;^xQZD^%pA3NOPp z5vVKt`M1tryGQ4*eQKZmc9rf)=*XFDQxM`S?PIdPc z4tnH%_BQI%btIiGbHAr-mqs?4ue1Bp+3WGa-E|OminGa6`C#6f0^(_^x5a{T?PpTa zyCk7L+n@4RXPUrW#BK;O>;ntq0YF{Id#d*A$=Q<>|3MY9Cy__Up6?5!08k=;tdgLk zNG>-$G}dN!h8K}+#?Pbx0R-h`2vu`t~Lx<>*K!G#V!WvYZRb9TwP5ZR6Vh1Ep%CTh?ERyow915SWbPa5`GO0F9@_4`U7ryZ$vajPi_vYE(tO6Lbo7Z}oEX9>9H5^OOGPVL~RDj@a>PN^`2 zOU&P%UAUYA@)HUtM)?*DrUL__&%it-;cI3Y`Vy|X=pbW{=8Jfat@xntC`k4zpfJ?d zhvo5hK&lp?Zs`tevikOKan5SIm@wWB;TF4W@YWzxOF71EU7}6~m2Zx3_?*zmJxc`K zmWp&czkHrfydEpq&jj4Z#I_Q^g_l-#N~?m9w4k}tP;1I9WYKIzacpyGPEU~)3R+-V zXiGjko3+TN3>M>c3$+wn!33z}nyd@c4@n2_IJ>w2;CKRbsU^r2V`~XuyPu(@;^4aM zY^z<_K?Mh23>K~@<{x;uA0**Ui?!lLA<=w3tl*$^n6)Pf_nd&cM?fk%Iqy1;tzUo` zWYz*jE)?)ICZrXP7q&UBhp4j3_m>;Zw--DOJPLn|7c?a%Gd9otk*anO5aB8Er~Hom8N?Ot>Wz8nvTp=aT9k4xbaw zwWA}r1bAL{wRF93-&nMG-gd2cKT*dn`f|qGzpK$LV779rQS81BDGFerMB>GLe$3mPoZf*z1@#MN*Q!%MWy*w z4GE`C???4$vsE`oV~cg>(jN^}y+&`p1~XTv1p!`7!mfDEwy3Uid}V831JN|ao@2mG zY#PH}C0OQauZy5>s|U%|r=ow@+Uqq$2Q=P@ZiuW-b~#wz@US69Z?P%EwJDEt`gc*> zgaqHJK%DKe6;~N)gGHbwzvQc`a{Sar^YpQndget9o7)ZXx!R7*&^sc0Dg##R-&B3o zwlEh!{tKm>E(mMpjRHggViQn5-cmmw)u<{tmFC(?@oc6%uh0ga(M3kDJ~U70HaNAn za=SG4_zU+(pV?z^X17a3aZBc-hi9C?7Mt9hmkBVR4`*JbpMl2}=0u-acKM9$qZ3(0 zm6C{Nj!i?_!y4cGWQ%%n0nC4u^TA><>Ne(g5@8r03c85ZCGq5KWtq)tT>^Nh! z!XaOe33ZlmCu}I65{;bNLGA)zD~32t0}mu-dmoX>&b=8I8e@Z%5YN8Z(Q zuL~x+fL?QaDjDt^&{_Qoc*elX3D{9OI!Uq!30eR|5fBQw7$t$&9!+vb%;U;VAJ9UxC$omDbhNDuaVp2~>!=fd5?u#EOgkWOW2Gs49l~Fd--a z*Cn{7)O-7piz}01mgMB-DUJ@)(ScEpNYQw|MT)RB)7UEYPA`({-?a1B7@<@OUzb>P z-ms_Eifpeo9!hUIe!>>;=Zs&ql@~x1@DBo%Jp-mn2YKlyF7B09Hs3%puosyj$+xe? z=k@=_So6a5 zGw3*N=&*ZN2-fA z@t7EmLA78Os#<`GCtSaWK-K`5E8SoS6Fn@zw-PXU64;@_;=4^qo*Z2xgYVQH%pXRc zZCb@0qP)AskHOM66J!!)I}0UFfxF4GUJ6jQ5?C1v!JC$y zWYv5vgfJCowgg-B$sum*?X=(bX|4T5*EICW#kwg{;+va(G9ZM6uV!l9^IRhI!cUQK zwVB~^8Fm2h38TB*qvK}8*gY~+CV-ojEiYg_68sbu-_C%Y*2By&aQ8_nQh)g6 zy@u=QYN@yflU);|3REl$XaVp6v6z=~tb~N0bOQHLRi4ooS+)utNI!N&j=Ls+`OA>U zT$OlA|IG!OZqvL{1@3Syu2l^EpouHGKAFyf=Xm4g5}dl`b|wS=Qif6TVKE<(+*Is@ z0GoCidXoO=K8t2wjG7QVy{|y50+9ovr!}Fy*NebfLF{7^Hi!zxvrw}P{H)>`5J~rb ziTcREj!a|RfV@@-?!M@8koZuEfH4c;639@bM5U+!A!A^}$zU*9rSdKAq!_w^y6OXf z|C))6B|n`K;NE|6WHNB-!T8!ngYYj!#%Z|6;$6G%Vkg8ZQ*zuc3CvcEkcx3Hso3Uw zCCC$U@X>EY~rEG$n?Pr_v{6zcT`m6B4 zK(yk70C(^?Oe$7Uqr)CZFdKlYLo#Rx3tz*6gH)9fCVaUVdy|9!MVpJwkxJw}Q~`fX zLIZTnfLtPDXAz*`uo<@Tx>q@9n&PLaw!nFOlAz^?Ac+@~Y0(a07B z0)f0!WNj319O26r=XS2w#{x}m`B+#aL=Bnp*n1VE{VzzWch>aCyBk&&WZ z8YGB5eVG~){;mvWE>Y=bz&FvU2lv12*#7hJ_qo(&Xc-AVFUOsuLn_Y1uP15`p%+^*kI(uZ%(YhB3ir~ZrcMtCP z9ZvB5U|pM-KBbLQ;&*js=ve|})fB?Na}>5t6O`R$?6 zrG8_Lo;?>f9Y#1DFSvSZK(NF~(xqJ(RA|3Zso>|`4$Mz@wa0RA2d_#@fx2$IcA+7l z%G~4zJ@AFju0Bcq(oClu?%~YfmKjc*la#~V6cG}0@aV|Tx)c4WD z_~R+jiO>0!VJ5v0*d|5~`)lUGmla*5QMV3(LH>)DrFch{Lv3cPLp?~D`_QkKEXskZ z*l5%F`fE!4*w?g?79Dg?+EHoX7d!)?KxCgAhP1M%5H#csV-96QGTlMI-6k~Qi#OsQw+WRB?i$$jQ4&2Y+=ww{3^D*>!86nY1mUUGe)ct{(KQH;E zJhszF*1g2EilKgoLD@W1r7Bp+W^cODQdk>MIw@b0*!|F_X1r9cM3Kh+K25MsGey>< zRJ6pN10CBf4R<;|oGz5Vx5%iQf< zsdekU|4v$00&=2!1Clux&g(e@ESR7TG#5M!ch9uMV@$BamI29F|LDTFWzu@&wji}$ zk95^rZac4kdwFf=&BfIpycr%M?!?i*dSL@ zN)L@fdRjxEmJDo6s6V1*?3wY6^a7X{EygvyM+?J*Oz}a)XGqcY%O-_Lzi9nElTIR|`kmZ2d(9OfP&wHv8 zWpGPU9q5?=ff`8;C3V!nRx1wSRG{qqCHuXB>-%Uc8F%#J3E#4!Aa`#t$mo40JsYFTr*!#KyD?mD<5;P zcErsX112sZ$U|dBNv}r8`4Bx*{WcL~MO9sq{b00yDxIpyZ$IQL8pakkN)&x+NV6KT z5b2%Z*WYsD>+k0wJ&Jray@#L$MXGk6Sz!D~#^PgpU~vMhmY5E%qC@d{Vh>N+$JIv$ z;|a=}pq)jwWuA)z&$9YSBQ7X=YXEvpfVA%`lYpcbYQ9YQ8ZT%`SogH%)Eo!CCmiXK z?WyihqS<8A_^#x8E{KhH(0>Rx&%tT+w}VCS>~@vb^=2Aj@=jg;bTQ$*lJ`7M%qRLSZ=IoLu$ zSgA`(!Y6PW(YJQ)|8i~npLjonMVKc!dbHqZDc@d;&T*>vfS^{1pa&R*ZfzeBCvkOJ zzh93a6WUeM2hB9sDcH6f*!Y~mdKC+**yeGF>Y2r062g?~x$m>OL-0{-o6!tFel;00Wv>X9<6^?(1)ik zN9sQCByM7`5%qxbVC#9uHsNf94T~Mx*{ff21ggGLj7XOC8XkVi#*$<0lZl>2Nj~Xn zu1iZJgD7Z6I^@)obd04?4z{Dbbu5`^hQb80U0%Q~F~Kf>!$K)X6Tluh-i0oOc(Zt} zvr-ZOyaQBR5E3jT zQe^HOn9Ap`7(gz?&D`zZ`uK|816BY ziTkZSeu}BM^7w`Q&d~!m3D|w&e1g5~Tj2s{2a3o>+s%c*Ey-;E7bK)MU7{uyXsb}E z5LJ>?g>{h~5x@d%6*RuHhz)h8hDUx?gIH2I72z^8_LGl(v0P1fCDMD`-NTHg?$G#1 zg4negfLz7z_CC<X48i%_XbN`J(yg1MGlB>H2?xnOE_1@v*GWW@NB%b#Cs&KC*$S zwFxG9QN*+DX0Y)=t#zUn7L51wf>9#%4YpJAWHE}>A&Yyv#+XVDDo2@Jw+NXQTBzxL74dsC@7RbNdP+_9Dv6y^jP(c zB5e2!Xw@_D=So5D`E{&h-I+t5>g?HCM@h&_Z9oyENYfA0*L7{{W!D6%e5wX~{JV|C zEI_9Dq+U}dQ!=#JS}f4GS?%5PRa^>)qgP0BS$Vze2tC)9snT*GaPOL#Ih}gth*Y;x z`X{Me8`i1mQqwV6+WAVLOEI}IiPx2|jr!`+6G7wQRT&yR`ie`)Fyn`dXQWGX0ReWAB^ur?vrSs7uaUAw0Gj3W7Xj7_d@bSm)T?d zwTr#SejwpgSdsRbD4-YpNFpZUAOJ-FOyq;9n%ae)`eKN ztU(|BWo~KTg4`!W#?Nugs68V`uj}aoYbRH#Qy~znrWA(LkikkBC!4%Hc53j}bpi$p zY;`%LLI}BR;H*ZlN(Yc`Gv0TKy>Bdb%2p4`EZ4Hjn7XJ=SZ*hBj~@)pH_|03u^;PZ zV55#J#+O_8NlgqEXM=F7s>?~dQ2ueZnc;~eES*UZVh6EeR;rM$C?OLQ$2F(b{cAet z%M?79Ikpi%xj`_RNrc*U+B-!W*+&&n$Q|3~IBB~EQ~)buGz(;KRvrv_bcUss&8k3O z)4vBI5~|RV$_ed!;u2s+V=N(|NGls0f^JlmKevc`=c9bxVH z>}ZIBCC`o7uU+N;5NvClNV#`Eb$3_Ht96$&!QV7LeZi=v_*$KpYlIxWON@*{L2)P} zF9yMFkIlqEzXS`U;++~$UTF)W(j|F$O5$t1Nd^p<``r!(aD$zKv1wG1>Nz* zeOitlWDdquKw(T+)FdL4a8^seqAu|Ek_!`}IS3^gn25+?6zUxUJz0Hu!ooa4*WF$L zW)QNivv6?vV7yS7G5Y`k^uR&UbD4r^78JfE59vvE;UeF7=aS68e34`Y1E-v5**p8iJ@vbjr8KtwZ-LL_BmbFITJuap6XM2J$59~{P}OmlXN3&`?f zGM{b5hip*rT>YS!@@oPz+d#rvBj$yn^6dsymo4yO70`_gORJ zuDfdtsoWd^GKUZMo&qRT<+_k9OJIQ{UN~j6DKY0wkjbNE zgJzwYJSHkQ2ZjcggtR}%D}bN}A8$Ou3jfW8ve@rKO9JG=k}{B}Xp0YfWK7XWi~~$M zA(oPG;q;6;H9xaCU*E4j%oI$PDJ>y6=k2Es^U)xP-IjtPt9{kSK(-QX?V3VUDdNhwmaIcMB$$kimh1$IR$u5R!&-=Ne%< zph|(d%kycI6Gk^KkO|1u68?Be^R$*=(B9i_xAt`6x2b`Je`gRr9j@( zLTR@7AEYP^!gI$F0#3Mbqp(b~8Mr5ekr&5^_5!x9Fy`}b5JH4R@ySsFsJd|VH2tMI z3QD`dwxS}_Nyv;&Qjd-1%@2D`>e!29fsz%c}RZnPYoeeV)=B5;IjGnOe5z`mLXvH>I3xc-n-g^>}fVHi0*niD=DNb^m7PDzj{Dtx*$*p=nL4n zr96KU)GFH~=eTkR4Wf!-SyG|?VTf?XQtrEEg<7mGGr@}pTb&J^JIgwB9~v~()BkBM zM#wco&9}aMGxBs(*FC>)i&d4=C{|V0i%qP!(i=+RBD8EdXX|}#f`SbbvUG_}u|UI4 zy0Q%f8YUEkk)h`v-rDZ;`k)YNldYt4HFMMx|3VZsx!g(p3Vp5Xfkpw#7$POMab_Em zyqdjE#3NV(6~VsQ6{dg?P+BAItvHrUggGi1=O|#q0^FX@GEBJOBLkoWL<~Ql;WIF! zJ!`N~n9>QulOf^C2}ot3f$ZdkDxcT|OK*nZ=eP-kM*rRKaDOXiIuewq@ee2H5q9V| za}afT!KQ?KBcc*AS&@n=Xqzf6Zm-zR;K(QHx$8m-S2t@a z+YU~P3JrpF4}Ot=TtEaXAertON*;M4)(+0+CQu8Pu0U?0vQ~&uMC*LBCWz^G)g;o# zXX$@G90$WKkuh@|(RE&7dI?PgVK?yhijY}M#PUI%opjxFNyJ}$Y?JrU<$DTOFM!6f z{1kpdj32Zzsye)r*E*k%VsaCj5xYo*#BU&+_i?@R7dDKX)~x(bXbrUN+dRu<($P$* zjg#;Z6sW&|>q}`L$OI??7@c8Z55hy`Fqef#2HAj@vdx&iF|>Q7hmx5g13l>wn+5jW z@WL$mHLEqdap3?(0qvms@;jjpD7H@$%bp7Jk}L6gTpG)8+d6jA;?1w?c~CD(0U0=f ztNYtzA%6pj`^y?ap+oH?z$zshw1%&`Ri*{(|5g&U<+CPhC!}VLZUh?nE4||&`CuN zzUt^?tIV!45M+c3IiXKVi7Zy!-p#6N?#yWRm#!*P8El;#X2O43jVv;ltLj*&QJ;Ju z-dXuT^)r6LbW8b`s3Z;!v9f z&W*1gR{oi{ItnENuLu6X=DvIUUiac*&)_YAZrD%fzdSb-?|-Fpmz1FX(RcCdo<;4V zf`!V(u*m{P7CrRMpF>>lfV{;&Nd5r`Qr#{=LF(aRbR1LW6efLqb*uGl2_H=Ri}jo{ z-pr+wZU{_0^~Mw*%x@pH*?b{o{-edP&~e9DTjD3nks8-EABip(W=BLGh3ZR_K3k79 z22?txzWU4{oHT`2yS9e%(|zhYccJ0tT-Zua8$-oi&oqv9+&H(mh6Q34v{cRHA!>kU ztg-$xKizz=+{D{xYhu}{I|a5-$bXY?{p(T;{^L>>fkm`|pIAgiBTUI;iA(}DLYS%B z(GoVb9lE?Mx17Z6#}>hHeLcPx%va~4UH8LW6cWE9=C^bSlRaFlt`Y4jS9hE$IIwhm z!eH5knUV5uex+_CL66XZ>ewgyuD*S&@v)K9rQQ{RSY37F(CY_x&fg??@r$M0Aw1le zf<5RR;h4PD6lYBrUrY?*)h|sgGv89drs`-`wC&c1rAWK-Unl)W#$ul}LHT`4vyX}& z9?<+#Tt_B(!W%Z8EuYN-kgC_0ZIy^=D=sAM42oM&NTcIYr{b#qT#SN}ldgtsx#*M~ z`sEe!c;yv?Gr0!&+G8poWol;rr3d^u3&@deiXDBde-d1|v^W3X3BFpH;L75V@1gvq z2#i4(A<9Ef1sPC7OgHsDL|h)xCM+}aIjrZ&=_aa24;{g*EA<*$Z#uwVjPB=JUyP^z zH_7tpQfZ&fr%$rO795lMeC?$-p+x6+%^mU> zzcTZD*5hpZ=bcc?6_-HJ?!=l}Ew^zUH)ljr~B z`G2zr{HIy_|Ne)6^8A1I@#Nok;Gb>#pKbg9gq`M}JpU)p|9{Q%P0B)@*8eQu{%)W_ zk)_(GEeT{MtF9MHfvMYN6Y6-5*P;_269ajDMI?*QQf2wp--3qV)HJgN{zqKRZwuIT z1YTFq=SJTi`=X#4RU<#e=-BM46RQ^Q3ft>EkNQ-hBE#!6maNNjIXXfo#8pr-o(6|3 z&FN@cmk%|ldfqG7=&;#%_~US;Rv`{jTU^w|v?x)njr;rl^{JL>q5A6VH_f?UjGi3G z`rvWMj8a%}FpY>_ab_!#-)mySU)*RqGaE9itZcb(h*(X({fzGiR#u%{ z)FJ%4wiT%ikk0=M5c()PpC`?C!V~F(O8ZteWDCJ7n_O}0Pc)l*msa?d``Gmtta7$-g+&VxVc+{dzS|y)_+&+7lb~Ql^s`T7}G@_fgOYd z?ky;q-{w!OdfzhMykXHKO6oDt6sLoK`ufMlW-f`ak2G4B_;8b+`{cO-y=E?!y-~0r zI`hS9>hiwcnFWW=b6kP@*UPtj{UCjot5al=r|Z0my4R_G`~CC%K~-bpKm7b%O*r*^ z-?}-!ofB@&!#(+T&uo6X`%PY|?cz0t2k(P{vy-2Y&f#s7hxqS3n(c00+S~plt1+8= zVcQX|lb`%dLBTY<_ zA`y7=AfbpWDMY9QC^XO1-wNlNQyAgW>1cPd;gzkHel**TWNE zOV>20XlHLYCco|KxoX(IcJDZgYM??EjrZ*!IIr6_ndR*%=x+Y#`nUr z;1?uO^*tkoYgh-hbPs*>G+3HOaLudbkj?uSCd}v`n#ZnwhP3Y;Pf>Sj*%K9L=Ke*Rqz;NNg%acV0+Bf_@ zI`NCZ29q+=7cc3eB1|$TC-BPB5Y7S9OEVjO5CT=#wq$pQX`dN5-?ku_d4BNuvnHER zJFk`vg%8`7Tvr@47?4Mm8}jROF0OpfjPCZkRr`CO(MuzpZ)7gKlzjV1ckVZ%xjQ>N z%VJudejbX~-L)R!2+Lvth1G5e_d^Z4&TO{7a*rIBARtBM6rD-*&NwdkxqVoBX~N7x zw&pwqx^J=0BB;yp%Tu%+DXTki%Y5+>t3<_r^jZx3Io$^aZ{C#D{`sx(zpT{V|BsdW z%eO%!<>+Az=z|L25F4hdH$jiz+;)f(Q9BZqAyf@ij?4sL zNd4J$bNdxX1(J(g-Z9hn54+K$T%HNjD7{=W9&)#C<%bunuxX|D`BZV)6#RLM>^x=B zVd_}pz{!|q%3RT=q7a$j+sCzr*1SIBh-0~w`M$x_iSu69e@|`vmS*9oW$vy>T5deb zj(js?5o3C5_)1CBM>T6+{`3;(h^@S-g%d*u?)-_IuWQUQ`eFX;`6GCO; ze7J`wWckhEbSM(fy=eG6`(gU$?E_8l`o`&BXYRfjws<9DoBEfx^qXWLH5ct&zyFsy zQNBPBPzaSMO+)^#_MQADv|X{JyYR5d6(|KWCiE-gNtKP7KgXNf8wL)OJP#Tq3e1L% zSZ`?EI&|UGol0`d?Hd1!r|%x8?0WTh=;Dq5E=C{mVkM2&cTh8?`t#64+}LS)LqKi7 zrPh0A!Y(E~xvljaYqC5((@8+K_RM>1 zzP}f?XJ^z^PGwf)aA*7T0fAZIiJ-3M55$J-W!P750oqkj*`u@iSDl{ymE*1Y?#{RO zPwpK+H?77Jzs}$8-1YkD-D_9gKU=?q&YX_sl@zPq#%x?*o{bupH5~7E`~5XxbnHp= zFy659+k1KMp+)0$t8L*yxhx5#G-P@2#mAwIKdZU7QJjO+5b; zZ%eN5*3uK3*X~1%1u=S<+%wGiV0Xe#vav^_(C*`)`J$y1 zM2KoGfEuvTdp#BdcAtiw9;AG_OZmI)(}?@GH=q8ZBA0%adFiBn9`&<2`*|$L`R(U% zy6@626QP9vm^dJ*pnG^#0DurQaSWe9~S2 zX#LsRrVXt`r{#E+ ztS8$KjC^@eS-JXhOZ6TjtyiZUSFfL|x2i9|HF86(oJ!RRh=0QbF&b+%5lEvvbQ z)ZY1SVPh9`M zj;|g&()i2T&~q-Nd}c|#)7qpmZEL%AmSas#DP~T+S2l>=jW^G3X1DNW*B%TzSvA=fzy5sC#B4NFe?ayAu_k8fizw$Uvi|iIg3j&~zh|!|Z&zz~NHxxe z25t!(xq6?vkQwRSbud6@@y~{g+2c#qepgXfe%)EHLF-L&VIb+R)9-6Mel?}n7H(w* z@2VY6ZFJSggw@3#>yTYvmVRZ+;};Q?_1YVkGHUfh2QN$<+WaIo(BY19bm`l5(DZfU z9{s12r7O-E-+i4k@H3qJ^vb2j6ZOpLK*sy9i-mr>XDb(ehT-v}Er{R8a?aaqt8wh8 zvsfzT;kvh?-H7LnjLtev1>RHLaHWTEzop1|IQqlz72nr)-+Qw)W5%L0BXv$Jq7C4Ur#J{I1jm= zW~QDpaQPkaefZkbPuKro0<`rS+M;6yQ`7c<6h1Dl%E;j(}Eaz$2@bqQL)M4`rcJ*&d zhqr`%s@Y;SQ9GC#oSC#e`RbZ=SH~=hZ{+Cwo}Wx@Dz99A4qY{s&{TS)OxDcUVB%qRcUXRS-iY&iwbTfjPsYN-(s>GmN&}}zFksr zcon|C=NT@)U2h+x@ZI^=GD$KvxynYL$75MDYZ4ZQN_HL#H(sZ}4KE->y&PTq;u@dm z+AG~Q)@>+~nX&I4_YizJ5%*4BF!A*%s(Cw=&ROQ+&Ah1&d%n<){_Xe_yo=SyV>+11 zyzAFCYfC8Loj|mk^mCr-eVXe$Q}EQf1;2AKP2fXvpvUcp;Oo*O&=0<&{*Jq#_c}=7 zSLQ+bVHTuk!yI<=x{<^8?A-FMhG~o7>U@@l;b7sEvCOA;;^ze6e-(z-(xmeg<_C4^ zGsWS;J?!s{@zuEm&7{Q|!!jVhBp`GsfB-rm0g^WfC6E;0LGG@#dE&)5;?zmy&nqd- z4hXu)|2(1TI=-Sp_8e${A5A7}D%~fdpA1Y-vgN#3IxT+#5F} z@VzL|E**E?$t_6IB)|f|&*2p>Y5mQ@$MeHoKI$~^e#EMwzyVS!f)CU;13RL)#8REZ z3jr-M_&J;+Ji_NREDM{by)WXMMcBEEUKzA??rLPCyGo&ZRBL)vduvqZYE<`gR4;aP zKOlNgD|*;HdNe(Hyfu1qHG29vdKNoo9uTvr6|?Lfvzi{W-Ws!MDIEh96uTPpfhARK z7U6#w+1nIZpyA)zz_&!sMd*fclWwmFZM{crQ-Y>S2@&S1>;qF2niOj2_Yk*t96QAs zhxXOkJkf_UJzma8@@do$_$Kr)Bp$I)qzX#?B_z0!%FC!YNO3eCbuA)sB;mExYkwgE zrPa=*A&yboF=;i?h%)M|RH1s<1@mLf;ff;h303Y*G`2a+p9dnr58Lw7AW6!-MMjII z?3|B$TPU|=vdo$dtYoljYM?@T&`gS@VnmR}kyDIiFpY$0nR{?Gd5XV8%J;>T_nQXKl9R0hQ>9s(#{s?)+(LpN$IJ@c<>YGFw346E05*=UMt~sORH`x7&b4n zZO5gF_*(3q5=R@Jgj-0_R-D*UVzyR>yI)jR9?pLLEmH=sV9=^6$U1yAn%bd9`{EG<OX0}TN(eP!REEQGyi(h;a;UsCt+X5}=sYS-C`w>!ws#`~w9)_7!$27p7b6#3oUPoNvQvKWlIL>}9O|(qzorY^vLA?$vCW)ok6-Y`f8H|I+M$*W$$6 z@>RFR)vLultHraU#e1X0*G5qPrDd|TXq~F{M|)y6yL<6(%{=SYd1zT19d{*<@3A({ z>A20U)+Qow&MCUiEA5Wn>u#9eEPtb@QSfBf5qg+?~R>fio}dMpEq#PaR8M zb`a%3Rlf@dKX`MnJGvHDzJLDJB@LS`r_(x0?#I=RT|FcSq0b zM$h|8&nNs|P`+Mpy|ng; zn5et*-w^?IJds3|VI;PAP2+VGwoz2Jp~_lSOwo??fB|Z`F3!ymj_d&u=pt{CRzAJ2 z&{`@&0+i3VF&yXC%%!ddLyphBktKFo}DA!nqv43XSp2Ir3`YTu45HBC*|!=G0UAnm(a?ey(e8WTWg`)NdT@!B-|V zTBZzt`-7O{P4h){;ipdP4N;aEcKoih!U;P3^_@|MoNlrr2KPIJ-4`Y8arif{kG#oG z3|2<%4ksP$kl?JE_-!4Sb5UiULvV&L`WaK+vt%c8HfM6^`t?^}`JCZWHP67*t^9EH zh~|&;{BNq?mQ_v2T0v!pLGaoVK4nE zOOV0q7?zC}(<^$*?poDe+_P?&?l6(XU--hd+zYZ)Z(SwVaBXmFQ!Xgs@St@;p=ec z#>zYyhI4uq#f!Ju)P@O;d}_qyYFriI)YN0eW7W56X@z%6uxpjbXF`OlI8}cwZ%dj) zek1#QZJmcW^m4syJXG&xpn}1vN`8}@Kxs0@EAf~6)a9m`)JE?38m5(Li%`t)l%H{&lCda{WzVhROc({dl)b+M|s@o;@1s)oqJ|L66((9f3$tV#=YKvk*EnqicSY8oaktx-d)xPz_K~(Jiu7u7 z%9yeJyyf(KG2gwJw^D~9vGu@FPy1tb*w*i!@2Uvlu(xsX+B+`VJ^aV}INa5IGT3y- zmTyR;@b*>Rnf#Gp_l4DPzoGs%>C_2I@RbB(*V1Hp32dUI@8zfJ&B^ym73`?1cZ=bi z&Z)BLNd?;rh4M0s#Y~@{*VWfPgv<9}b3Hy^6$Qx8yB1!yTg$f6mlA$TepJu&$#@33 zdA6DzXejI&xGjNCFCXVP(plf0U%1i49RzIMVn$xd#Hp3Rt?}3|%YWbGQdp^xzvYj8 zkQCe&==9I7x*Ohn5cOQ6tiM(DYvb~JjApcj@Lig#XvAbJ)?~U9_4<+YcBggm;Ky)l zQp1l3 zj@VONs9)+d>(AlZMJ^PpWk~fw`q*gLsNtHu*iXJ-F$wpI9OT5bb6u;oMYV8Nchos7 z_wl0;Jz6faOf}ocHosP;T~Ew>WBVY8!C=~2EY|Pwl?POR?r8cDZi$UpEYqAblnv|R zU3p-tJD}(!5M4TwaP#*cgg_Yg;^|_abV_;eUNNi*Q_cNAPlzJ}FqJ zc-nUJx=q-D*cskhdwYC6jGGB#5&{|EwE>(V4*nE)L+`BWeZV%o>|TB~nXcMB4XQ1L zHG)OxJ&rCwu0MZ`WFCA9pRnWJV^sSwc*9Ds-1gcSG{=5t`qh2_q$9~zve~m^vINSa zaaNKnt}=Xd{86<+0-oEHr5iRyY@UL)LJnmxIG+t!mb~VkRqo*j+MN_u-C~&>4G0`- z#o#)uvOIS{)SckB?BoeHq^Kwran=(#WF-NY&YN}~h^4y^B{8fiCq;>@A9oWBXOju? zvLE+f*qDiq?j`Y^^JM@C3>4D>Q^8*y#&M}KkvTNgm#SHz0y-O2R53^sH7GF(9Ongj zAvm>+!YGj zQd3Eyuc|i53*q|gaZ;qVP`KLkr0>Z)h1JV-vjwm1Sb_Td+2jQR#xO8V%*G&$DAe5` z7@=8pA^hN5`kvl}SA}7W4@5+Lo->vwI3B==wMM3@7u?J0$4(ip0*<9plf9>5K?NqAb=?SM zmRL2I&GLRd#3k3|UAwEN&RW0k50=`wE$ySGr{kAX#4OjBv+gC^jv=_cSiF_CHXdHn z;h&f_j>C{8olc$?cuuC3ca&>ROl-@qc7qs)6WU{r$9%j^{1#mS);-uqYN*3|D8Axm|U$l4QqEuP4+P2bJUJ$WeX4& z5sy`tY1D_S)2a(+aSYYnB+1Tir6X=17E?Y{uDcBz-2XQ2{&_P2t)PI8oikj22}ZN9 z8oQTPK0Yq=ZWA|*dYCrfK_7oym6R8Hn2R+rrc%}rWr0J&$#FuCF?fIZU1JRLwjxn| zaF67za0rz$I=&#^Bsw>EMEwX}7f)A}Q22}i6vZ(tl>M;skZn|K`X-LcyYPv0ZGu;4 zUc&`lNoJR{umk(rt&jAeJsoCby%8>e`2+2+RO?q&qwpDb8@)MBS`(ExM~D^vLIL*y zWki%9KcyOjn)-HMPb14kC#Fv(&QvXfEoXep`YaSX( zvWBdlE-`gJlZdN9hl=d0C9e2gDQrHuUcJ(CYg=pM_e?$FQpMB-jkZO}SF{d`&&e105X0@w8tVhh^Be3cZ8z)hzQX zPu-Z@>F!nav1a9*v?^L#amq#3gdcJOU-xzPV3o=_F&lMX7!0J(mDihHza%$Zss&YO z!n3No^Tgy@)>!k;Yq+%)q}W@bU7+${v^wb#FqWqy*?QK?re4lrYK zrMT}s-Z|Z*@CQ4Wx@Np2jzU#i5SB2oaj~h3*StyvGJ!W7qlh{ z-B^YIB1zjCmAkse=-XLD=*d`Zd+ zTWz|hGBBG;+Em_UXP~2F)4q8sQ8y$nyWV8EZ%ZW@7hxa7dEJz4djtq8y_7pv7*j+q zsvGZ`V#xv|f~6*GpvL5r$6;qAjSWt66NS`Wl` zSYsC{OGsWi&^n>)>6qn)Np6$4Cg~L@3;~oIeeA?)er@w}X7*#f8xKjePSsu7B-!bx zLp7Y1h2QW)yldboX`gpHch2Gh&|FE-ujs;eZbyc-@DZI( z8l7*uNj`OOZ*hA%rntNYOiwVy)X6;2cAn%QUZVBntkOVU-4j0+^lo`>9tjAv^VT?M zW*PK8kkvnvIW>S_$`x zP0z$08_y|o$?k7#xwq-^s^4Ig9}#YfUKa*_FA)ark6wB&gf4;`6*K&{W#4_T)!tu! zo(RIi3Qc)+H|%%iL<#;H;5d@yc`=Dugo*gVTZ2wkSHsp(yUq%}cmu z^xYm-06U{j1h0|mAQpF?YtgBfDXFzsRH0^AD z2`V|`Xhl;d9;YB&qataSwkW5CZjz{zForT&WmaWaLL;}AFx!EMu?@GSt_V?bKSUcf zZ@b9By2!(M|Hn8<{U`1Ii2=^3By5)pB6Rcy$E0MAPIh{^7V^bL?}B8l+W~Q$0nMOv z(M~~e_+$+@R^1>1fgcwVBS;%O!gv7!w!jhs5( z0GVvcP#JOU`xXyfu3)zQMco1ob{Z?S4x;P(XL5c9h20LC+C+}frZTbWyf*+f({L%QsNNOw**$E#7%)eNBL2T(ERC!_-8NW#zt$In_lN5V0AE{_i<50MEpzOvl)cZZIpJ(CLRWKHzY_2iL@ zZbgaRfQb}mGc>`=b?J$W(r0Z7b_9>6_f9eo<10;^um)!BA?lUm)*1FxtJvE8N_OgRCEL{p6pZ{I+xzP6JX|x zxqU89U671tW6uX~tj=$}J4`g=D}V}_-Bb~(1*7`BDOn;@BhRXIC^ZcKAc}KGXA@L% zncS$_QMZpw5kMxc2v&jQL*+yA4Rd{V$7T>@ssYQaL_UgS`c|wGe~5cv4$3o;G)oCj zT}fpEmt>2BO04CWOhK)Yg4T+a1uc!@x1tFhd4;gDLbQ^K>Kwff4?bKoIBZM%2KxsR zgcLTp0I$ic+~N=shj_;!9wfm$G{FLo+5Ag`0z(Xy`vN_)xY&u6D9hM_MVk_>JY{?W z1{=S)1j7(9gc>12vlNArdc7FyJ>Wq`?Q_ARsCWWNMH4r{XppWrD*FhAxcb*ZIe{2< zmn>>uJ#Nj*IUUb7H*_^+yy8!yN|Ki?-)*G4gGR{NmesdXG>S@-(bdVv1ytpijkeg5 zL^ZYwhC{~-0A2V~UuSF<2QUr70wG+$w;+7?zxJhaaR{v9XN!e@EL-R6z)-F zK7fN0Ywa}kp$>YyjG@v|=j8nhnP=~*BCz$?%e5M7oi$ee8y@~iRf333?U~orZ&Q=N zq48nVddDDp7B{aYx@7X!I?|%f;O0!}gATF^8|>gzZHSVx=|*LrTyrpU_>%U`*R_@h z;sURgq9fTOP+1W&oot3p+sh5i!Li}DiE0SF7Y~g(ajc~z*>az;inrmu#f_P)$&CtO z_xz2IEWH(4#;i-(kAdEF4#6c*fc=|Z4xD}_Nc()%*n+q|x|qmWfyPH{6U}2*4TP~C z#1B$8mJBd)RhvlV3PaZKW4TBLxX8BA(4Cq)w$SV*T7d;4kLlY3$%q*?iqcD4yk=_L zroGPRDh<*GuHSNaR9Ah-``BSi_Lk6ymU4e5^*R|ZYcClr4{#)r@zJ+Nw7Tbrz~SsS?1G!w|yz9`ehIKrtQm>+gK~f&Er&wUvB5V9|xHrrj4VW|5`JM7XGrZqdv}W+Kf44@e z1v_|gq-N(NMq!p^8r|>EruOTS%zHy2n#2GEWBG)A8=T$rMt{T%f^A;TI8;x*kj#+K zoP(rzg$hGMFlSQQx>RDj-a|!-oKRg(RTv?r&8MlD?AYUcaLRK>#lgwP!;9_>{3)pYaj*|#oY-j+ zgvFwX<;K8CoY|DqyG7)&cGRQpE<)cJ+4eQQA`-q@NXmLh4$s}>#8Dsb3EF0!k)rO8 zlO6gp1I+F&hO?{?!K$eCm8Q*4XFrj}@|Gu2?nP6f?vLEgs0TRfSn_ zyZK`TRlnkeVDS2DhBiFA2Bs8FN4f=RkvQrHz8#9VJB%N>Q^p6F!^vRQSVa|YrblWV zV%t?mObl$0&APi1oU@zz@)%ic!;8Gj4WfkmkC<2Nh*!QTU+R5+n(|x$AXVSGGa5sa z-@5nZk~6P0*nP})#hVYP(GTsW9bP3ios0JIh6fdOjiGCHW*i;t;2j{t&ToetK9d?_ zm|wqCtF3GuA;+n!+h3#hm?$RJn<%f?AZSc-ZxIt|9xda0;7O_LYe^8^U~UV$G%h(V zIoil+YNlv<4VVTcFO!WZ-y=#zHSD=QH0y~Ue9(~EpVw+aFy1k0o@!K`K*2A{c58$# z!EbRm*}pEyaxO6weaXL4Qy{#xC0zEay8SKgbef~dKtxYcvwRHUjKI^%QnT_UMv7nj z?h0~^<0Qe8!x`}OvkM^YNqIYlaWb@hvQ=rxGF-o?>qVgs~D9phSGr89zAY- z{L@75G3T50h{%N;*GYunkBW&~Jlr*d7F!E}>9qp4{09BCsjcLdlf=ObiqAHKa*iZ; z(iNA#)FjV)7%!%iYIdW({3dhHGVu6?e@0t4p5dlb`Bi1f*5>uArIF(L=g+^lLuW$1 ztWMc(M7chu`VDqmxpF`@dH4LNhO+sE-&H30ba1G7sJ|i;{iEs0*5bfg?~5DNhM{-k z%QF9P(~wu_N*3U|!O7-JKavaUwsn{v{TG9~z>uD?lNH?ugWi&<--qrE8pql1d)S38 zdUm~=DHojlp2GpJaR#{9D+U~KuUPQvA9wQe7ZThX79y(|{aEIETU^FCh^7)=8H-H= zDT&u;VF#ak8gRl2XAnI}hIe*H?0+8-p3mfyK@1^*IH)@B+;I8Is$U2XGsCC(TB!S> zBYi--HGs~DXg&HKYTk?+d?Yj+OM^kfb1a^SVmH`7jHsiS%@qmho@{e2nJMJuvdjg4;>ccE3fPis5C-xCQhIRH0@X&(0PTY6fcJDKb)Z<+N{<$XO}^S)0%Dx5qNbY?MOVPk?vh z>+AN(kE_(#6_24QuC=Z@mVS#4*w-!jI_+;f^~>FUSYrRe;B@-J3cKv$R1 zyF1HxRr&U_ax-`;mOWiIAml9Nh^;J(W!3l@MW8nH32+g&&*|7OG(D{IqUMk{;hkh@ zX)GUgEzH5Cw0t6*plRvD(8FjgCYh|MfHSe7Z+KyBW*j{2Dy{8wLcnJpC9#RF8z6ca zo!9vk)w!bakq#2F*NxX9cRfm35N+gcwARTw!@rXCbCOp#`ir^H3!mmh{2E3>0wq<~ zWn>@$KgZG-;d$D0zPRqXq#v%ni;RC!@x}7ZRVLobjhTK$8zAV7bJKCb#U&ww5aN2F zx*O2ANfEJyZDAJVMV*nkWJ|tb_0$D8h(X(GtR=a6eCRRd^{p$8-x*~p9h7NVKgx>| zXg7*kmua0#A(HZ3iO3xLb#eCDo%y0^W81kHobpFoW{XJ|`A-N)rp}*3cprD$$2Y#u z$0H{&^gq5qo$@^_Ny3ul)f-rLtxLHwz1?p{33kV?isI4zLLb@A{(TbmUEuZRBaEx6 z;8CHw=%X)iChzs_<>TA9r7I7+I*kwJ@9o_6MS=CVngB%8rIp5(Zjh@_RYUA&2h2ip$XeKE}uR zg!&Kf#~e052{INR_xG-@JCebG7oP((xzqr$NC-U6@ykd8BqBbiOgcbW1XLmn@op=L z8d)-er+nFaZRzMxG==YdD%}V~_`4PlD3A$JkGf)bjNDrfrwKS*u0#-Y!d1+=i9c*t zbD7DP8F@a3p!>A4UciH*i_oBwMj?O7qM2wv6oK1nx4Uf~+Y@cdQ?CTD102NU5-aSy ztFNcr?+GRG+0jqyAc7aFVX&YdVzSVn;6c*NLAX<*L7-b>w8v+!%@m@!Tx9Zx*Aha( zp;=^-)0K@MyKtIl5EpYZSS};_?XXH@nxq}}aA&czIOMP&v^xL-C8d46U|>+B_z=v7 z{w9A5f6@aYgZ(EmlR#HdvhW|?4!*0S4xmjzR0I_qki=`wh)Phmsx0~x*tU(A#I*Q%aVYNE#*4zPn%RMSx)Q}K1i!drWDX71#QLhM7&tV zG1nQuBFdmxr>rdVYLRX+S&6^HYX8b*wK8Vyk-ix{6CXMh%EQ^C8J6xR&ZQ)cmJ&ZP(&o?S1Pcu=s04O z&!(lb%Rw;&!l81d@#Nk5kerdobs+u0Fuc*&wX3)LmFb`sv?RxfTQuY_?vH~{wPdjn znC1+4$uI`B5Aq!A+lo+uZs>B^H|#HXbQOG(s8etk75Uha!Z&^L1s^ zIUkzle#m6SJ2V6%fYGz;vpswo8IFKTX)mNl0U&^#G179G6YmQhpb8*lQP?gs8x4R; zU+a4t$3sCOVj}{OgG07ew(AQJCOJuLC33gaTokz^~G@W{E{` zVQ~Z&N9_XP14+fyW`!UkqA?+X=Ed;14KRFSib)lUVX0_LC^gQ-Q~5mctn3@vfu3sL8>_7xk)hT3q~L_U%Nl*VK*$w zh+GKLpkvBGIcBC|v6u!c($)2RoFfeZhY|FZDn$l)T6Tn_M6A?eJ~8!< zqG6@7G+dF1x!02Y&e(^{Vl-fmK!C z6X(0^oUv#K6p{uuO~450Kq4!6W|^U}D4F9`aFa*;Y{^&>URnGs+T>EMc5kuVEezYJ zph-h@{OKT^EGYl{zOB!%+wHg*V^6?ub3}X|dpAhOE(_G7p4M-%{GN*^aH*2y1jlf+ z%+&=ZZm`!dW`#7m-Q1kRXM2O_ZFb8dRkeEcc{}6+w7FLI5vo`)sTd=hrw5W@u&9J` z?s)<6Ls3ti#q8l=P(QkgxfBYOJD+~;$R{(E-J=uJvLBNq(GgGhGRZD<#13d z*9p}3*Oi1%7sXDbgBQ!9DB6;KC($^`bx@HGe63ucAXeh19`URZL6T~F9eAwm;uHuQ(3iiy5ELvUo^mC5M^+E64674fb6D< zh_1XBFpb4%1iCa@XBdSE(7;VSC?~Di=Byw1ZJ3C{l!xri2T2WfWMms!6D6b zF@3!|UHJH~idfj6!2Pp`y%mrEqyI43Q3vN#b*XzaX`70N+aZ3k6Wo zcJ>+{NWy`^;|bVWUi3-gQl&Z?-wqUl#L#kGu@XB#B7)2*m7$>QN(Cq5-%Ramqm(K^ zbn4+q|8gi2i?n+G7M?mLOX=i-y{k7ie^lZpl^uDb5eWrW_@r@l`^+>J2Qjx<#)d^T z2$KDLYp3`7hDb@bdY=XLma}9jg6JmymJ}X08C;EfT1H8$mqX)ocet|)_?3k2*N-tN z6l#P-*nr=1pX6LmCeTq`iBSS}#lhF{Oo|B8YXLDKcw_dyR-LT@E_elaY(fd{&ba@i zwA!m+a&(k#1+vi~Fi1o(DZgEjcs~%3f7y!Tfhb}8X_M{#GXd0LH^A>1b$g&Ceggy_ z6b_XyJ>E#%9?kUChQtwQ^Tc4-KY08^IuZ*dL|b`!xhqHpaFFuORXH3D`)Kct*N)F0 z3VGIff3YYaL-@`~AVR;MU@o4^MKaBtd3z?F%|}5RQhvXKf~$?Nd>FYfu25ydq+r-L z0t=UHg+|NJr$*PG;Xu}Hrq{r|;`5Sf%Oda`h0ZhsQ?4MZe$`~oZynJi`JD6&Z|D&dDd%Ur(b zCrG-_#4v%k`7)^=pVOu4D0RE+B0e7qX{%BwM8M_?p=n5_v@ojOZ>g@%QmU}PE{9jJ z?M<}{7!jlnjVKQX`B7l@lB^VqVmbzQp6W_1R|*jU?(5l9g<%Z)*j2ahfjkOAwT~+< zMXso@nZ%(fBNr{40IO=UVnG4&ZFqr&6hams2PXy=gQUtx;{1%N>k>cw9B zkIeL-3VsaKDS!RjVQT$rL684j(0`ONK;v{EtLgtGWfJm*{o&9w{HYV-5BZZ=Ri*qF zU~##fGGOn$f3Y14#^DjaMm*9fl$iKpCj`?VmoFNoNcD1SNLMK4DmvNeiqYO$h@H))hcdMKG&8_A#;bvtC#fEVPR7?ALQ z6@Yqwg9JQgIT!al!D>Eenq?fUR>BfQgh)X!R3ghwO$a1>?5N#c^F<_5AJ+*i{2eGc z0-6l2$9OWNMEs1&*gG4_P1q$mE+Jp~bzrep44rJFgGX)1Xu9}FeWy+rL~H_|S|rto zg%p@uB(&R^MHM71FcrXl-Yim=dvP5JA21@8K7pA)dF66SAp8b#0-UD`WZ(L5< zKgwA!MB;3M@enc6KN_=65E$Y1ERC6WgTEcY|423qKJorLvMe6`+{)iOHwOix^8>Pr+9M%P7?I3|G+a(D-6ziOz#0O=ZX?~+wm*P16CgJk);^6Q? z(OlVFJ|7-43TOQoR^M=c|J{HKm?#dxXaG>ERa2{OSLtu`RwrSdF&y(N1(F!|hfbk3 z>m>#I4MP0Ul?l0kA=N_t8tLkI`Ux;~2mbr937>Aa23j0QNMJyraM?#iNd!WFF`~{BixMN?08B?Mh3g?=f~lGI;lSs} zq!K7}i5pw5jdM{6KBmG+@0F6n66g2FQ$HvNPl4>zVdw37D5dR8p%CCiD;7Wr zA46xOSbEx#7N0kjx(guDI;fHhp#1UM9Ve>pcsSOq9ob)WCX3_C17QS(&Hbq$IfWte zZeTSEiNKdi_-gGt^AQ|&T!$OXQXwpD{lr}QNfqK_NNfSe4GH@d3?dUe^Tzdl6SzOv zDKQyxSSGq%e>Pw^ zoSkV*`vH-lj^TqOBEjHjD5G}4;WNu%@gEY2=yj8`uwUqjfXeBUxilIyveY$YSr~UX zKHl^>O#NY+*}2Xbn<=`Ls5dGNVkN2=7>l_#YZIO4y^+8-S>f9@WpO<+WQ|P?pVEe- ziDI7F2bB6Cor1RKY0k|D$J}f`n%l=;H~nAKE1u^A8*7EL%VEB3CWJ&cUH905a%s(y zPiNM8WKEqP(p)DA5i#hTS{_Ek7qX)`)B{_@f?z*7@MbCHy*@A)G?~L~YJd}H`Ukv> zU~Y%KMHN_)ELZJSxtoa`oi!O3_1;3QcE33S8YTVgm-GWGa1RIIzyu8CN1Fe%A2H(l z-&?XfAa4I?$tFI1G+F*3%m2kzz$h$st^Z-G8zdOiNZ?Nf?cpdyEl?;m&xRnky`v#m zT_mqzA>%@kNS{;LVQ#*s({LeC4vr#!pY&rdt4-IMTOP{iBU^^oVLn-i=C5QxpD23H8S`=^qUYtJF>&y}}Xisaks6UVz^RG3H^Y1Br+(603Eg(eAED z$g?X>FW~mmNCbgJ6~446sazNzc3-|{S0M7$(^!J};GtkKa1>$h{1PFuWmVXcdvX#RC9&U!rQM@)c!Q3NSWXQZaq2M&u0 z6`-*6N)6*m8&FjY({xP#sG7|9q<^KAz0t$=~WH8+w6;>t@4Mpbm1gA+P&xwS?IZmpZ z8-+o@iVrV!*aH_O@uf%1yi=$aZXO(8oi$-0yYg z!nvv(%{tki{6-^;I+RK`{3IZW$Ctwb=$!;| zIMFjvVFE}x<~#92=k!zZ?ta;xBUbi3Z;~V`-9<_W%#CK+49A3 zDHO+lym{qh|=K7cGNI*8r!x;5=5@YVtmM*5lR&uWaf@0I?Aj0AxdRR@?>)gMI!W5ul3hGLK# z!Tyer@K}>mhed*A{k0WHCO9A7mYERRARK6TrCwV0Ai@pH_()hQszW$@5pe>n`iEfgE$ibv@I zj7v!(-63i5fKD{yS!sRHXi1lxQlgaP+=$V9EZ_M;rauc|F1Z`4L?rt93s_{6oUN(N z;7ZME=CP^EY@K~A!q-e%rb()W)M39kompnJP{>#zGeC5M7V1tVIH=}mE{SlEBn$>= zuO8r`aWI0NHkMIZbyw(+9lo+ce?C1Rd?rEmp97s>1Uxu$kTB;{VM2U>;jR$)BUT{b zyP`qvuiyV&gU|kd0Qpy=^^g0Ue@=D&d7pzFZgxW|V2?zK_~Va41xAjgb04Z?7>$jG zE|=~wI0~YRi9_pMS}y{RUN+z6Y*zG1DMOU17CAk5u*f7ERr+plFHJ6Q6CV0C%~Y~h zmJaquCPxvLS{O|OhfF=`Du?sNG0edJL%z}%;}4E@` zeb)C~oQwZE*Iej3^E~qzbIdX3yjZ-oCh9NL6BbvuwJ<$|0UO3(6kW+IOVA=GTVcF+ zMxT~|$sa7SyQ5uUTpTZhzCP;LjmW*SF@boytPLeUd5RE(f4VZ*FDm#joOMfLGhW7R zL{hT4RP$2B3AG%Dfms0Pbx^WT@u~9rN2toM$k!`(0b~Dyk~s97fgzQ@1X2Nr*Y|ev z!PL7SqXPeKv>$Ma4qeeypB9Jvoq047@)SdO-?Sq2Shye)kjYBbGH5;x=En6z#gW2} z>01#O_Y5CovQI)cNx<^8g~7ZzgM_hIH9^!=b4mXV?1LqLg_p5(S{3RLf!y2Gl<_K^ zB5C0lYSK>?s(pg6T79%+?X9>t(JuI0jx(q?W1d7{HK8B#)hi?jPI1a(72XF{{94QWShh zdlO`IyH*upC)B1`N{(-=DV|_+Zi*ovHk?`ZU16hAq>%JMb`gU}!KD9W|C$C6H|D>R z*};YVPo~mXTWJ-=jNDd zIe43?jc)FqTC|U6^(pqfwDoGvHp8=M&&!u&;to6c42wXM#jSBBfmTElX>yM3{T=vR zX(vf9!YG}L^$m(wpu3QcJORJH5CJCVzrq(kXw%$xwW=+rrykS5IRL|aZ%iwU zKsN{vQkfX^i+I#Ywa!y~o3`K~S^-7G5i zjYs(9SCW34R~VD zDlzj8a_P~@7EB7`L1yC7OOV8Aj5~jBqNFwrLf-JEB4W4(9mS8ElEkNY>pCl@+TTA? zUE#scr|3xOf0S1vIl03f-?R}QRE{1i^TX5gb2Kc_8KhwaI)gj0w-%K`Y1=pm-0NJb zkz|Z0|5+H<9deY&Bv#U)my$&e%Mv$D=cIm~R)`|g=k=M6pv%X`fV%)E`kYP zV$sxLGp@8u=D*fubmgWEk1ZYNwXul zHJG6%siA+6oa#f;iIgs>aqd$gU@-3m)d;9vQMpknuS@UIH}SWy+U}QA2B6a4p)YzN zP(J~fq-tzFfalgo;q(Y+h{yAFhobfd3mY8OAz(hso!0TjmG;nWIf{4VMQQTET_cJ} z^9JtmWHBGAaOY7*HlUBS<#jN95#Uk9Wbr(X^75+hEFnuU)E^C>-kId|rqaX9zA`={raJT+HhwheDi6cQVh z06ikbor3ND2jmhixfMvqE-=?gihZi~w8Er3ke-Ged+9de1$~~S&2x>Co_K)zrk6Vq z&NL)whaQ_G;6TrLgD6skn|BGDYtcs!m+Q~e^x%6D`yW!%LQg!ox?K-5S#f_Vn9kZJ zNXj@qW&cWHsY#k^SGK@@yGEs{%Ww`!B~o?L$;l{&S8tDU>*GV3Vl8o=URI65f^x19 zU4G%BH`he9@P!P)sbzY(r>q8&hETi@O$HUm%Cdt|?Dhap!+4I}018-^G zv8mQwIngKu)L1-kRvWysR{?xPE=qrTQ~yBo zd-_g7rOeYMf#fl9DJ|h4x1Od85EW(SE2N_3xZ|YDb^r>Jl zczlZ6xCnD;?ZnH3G$}Xz{4T1mMzaq@loTLdQ_jhyqLI3LyR0kr_rjdIHcbHu49#^W zfV7PDJ2h|EJg=|10nstar4A!I%lLSrL6uIK^};rOK*(v2Wg=hG3k{`^`Yw!zzmnC@6OLTQqcP2E0_-@WM?fbZ z(4@Ih&)pV<_Qx|&BdB2j4I5OX=22)bA#;Qv`faj~`I(KrQ)=p@Ks`)0x!^1D0(k1U z;J`9eht5cH@=c#OTBnYbC>a1GtVfaZn)@L1C+c0bLvcdskJeqEAbC}2NPWN51HFFU z{n0|5T6i9WIK{ztknZM47=N5)euS#^%`!wt7g%I{C`DpI#L;(kbcpJvQdrAQEN0{} zHgdO~mmz|DEJtd;OnzgzH^=+Kywa!1C5@>VWxX0;W_M4HSJm0PMEZ!b?wf|90c}Lt zCJ3)4%mk)(v-+M;u$zjfY8mu52VqMlR+GP_+L z@`JVn8Kds2FTQV`Ue5;Kp9l0rF$uF}pV($)y&eN}8<6NeafAj%kWwKeVU8WRKaQTX zS|G6WxiXVSajPe8U;T#_PdiyjIT*$RHI=pE#(J zL@;VwvB>B7E!Gs!2Qm@gG~^WJB#%QilbaM1j;S!MKkd`bXjN6hE={%iJSMK*N4s$N z@kf9?3%Z>2+x(DOVZvktT+91eC39`;Q<((+B|NsAv$HLxs$V{Hd%)6QsLVDGY{Fth zS1|SxsP;hQG7-4!vfiR7YP2f5{>ct}Ju2sqtF!237WcMNgaw zac30cN!=0sVBnG$?AN(SPGAZY9o;yoE@K%guM+tbwpB^%&1P20rY_xoIylQn6w`7$ z&(nOh2TIaT?fuIky<-??pB)E#h1NBpp z{vTA36UC74;u}>^kxt?ciPAeVKztL)$Y@Pvt`{i z_*4syO{X9QL?70C8Pkj89*-Iv1lNwF=9*fNehG9Zz`XC-)vOgSztzc;an1dcnOCRe z?Cblk);Nt9N=2-RcJaU#24=OYfp(px@ zg5%yZca1kf;F~I3;z5OJTZ2>VET|Y16&0O!0uvidGS|3EOQ*h$UpMK^3D26Rv2B?4)oo1 zHvldLmqo(ac!^gk>Yy}-%XcmKG~(&gnz6p?uO>=8rW1BRP^b{9djx}hLRnX;i+yH2}v+zcY8Zdt5iF-6lgTFo+iNb8muaC-iESwDsf?x9AjQ~IrdbRjjl3FAe=Sh7&Qps#f79No2)Jsg4O#D z+W8^bg5=s>&bIkVY(>UujahAp6UVi3ZI?Y6^faanw*dWX#|0+=`B;4x5~)mRlpb zo=6i-5v9r-4OZ&6*;s^}rQoeV#ZuIG7GpA*A#AQ@pUBP{H;`zWvrKvb3FgtGP>6_y z10|jCG01X{;B#!ErYI&@?&yf;Mec1M5?sd_CQXlRij#Fb@+~|lel4R@F#mj?Sy~bpSlqhe4B(`24<-YXPxnL*+ajIpvKQ1BCtKg=Ps;IehM{yHirC5V> z%WBy%X+-8Xt{qF=Cr#^IPo`sSFL=5XQk^dHB#g4Ijb|hJty;08J3mZl7RMVfXZ>yY zUhA4JVc*Ap+;Qyy`oJ|lU!}*Ta`EV6f{d3sQ^2fd0lV_`Je?qQR`zH56Y{E{x207w zZiQ7BB92-?m~!XlgAV15K#%TQG_q&8Ur<8j$gA{Q*!>iU;ddquNVm5O0T;~?!4bfN zi~WUvc4EQMl=z?c=afUJOb~iSEs5TGw|i;1zXy6uCtLB$SYm1x!$AvojJ@l+{Mkl^ zs!xs@H*_hNnla5lqpjfnZk%pCzeN%(j+_o1gwpJhbgeC+4Wai2zgRM!%K=}Nk{D< zImlO9U?W#bfvvCucJ8{WzP;aP-NKBMelz1~dXd?sW4G;3p8gI~LMNYJW}8mCjUw79 zQ0r{<&9f}_75UBV>8J}>4&t#+#o?I2}A=^hU&6~qZ^H1;z_ko!X zMR61TmrH|6$5=}znhBJJCk741Q!s~~UGpgd1N*UH$CC0Iqf)fSt^9==MH%P|sSJiz zFlEGu0B?sVI_5P&z{#Q4ymNq0uywjD@W5`bN4ZXeZbBqOPqSRQ+_J%m@FhkbuJyQT zmlWeTghbiH-N4@d6z=}Q;7F&azEin^W^5b2-8kXUhn5bG8*t~@24$a}bssHL4i-7F zQ$6$BFK7|+8bZLOiKRw_I2tAkr8zhi!xEWg1`#*7sRsdk@=JGZm6Rq5LM!n+1pT+F z>bG~~BM`D*e!6hR>DTBhbcy7?0+Z3>PhGXC6! z+6e|fnokpep1NNH1}x|rZaH_R!$@gCu2kpZDnUbfvv_K2&E(oK1ejL*DP3YT@AO0C@n9= zE?Iia0EnO2ZC=PEii`}#iMMiG39n70V)P4vrO~I;FzVAe3wY<`k&wGmL<`lYq(XZd zm7JR2nWoyKB0V!Z2~PoP1Um|!ihNwd+b&6}sq@*sLIf69<}?R5&szPWCmDj&BkVe^ z5Z}c`804D0rnWA6V7z1!2 z{fKs)l5KEEeD2)QMD^Rl2PXLoFy1=Uh8U}Jg_3<-Gz&@vwAp|*L_e3-UYT4nQf|{_V%gR1ipJSXEDie zGK2ZVTZ6W7lH)9Z>U>tL>z>m?4i7+O-ABjSUr>;?>4MMRha3UDRKPcUe`Gd*Zz#oq zV$rOsKfS1X)O=VxDd5s&Uh3AyL~5`B_ymhA>Y)>3VL!jZV&XtauU`7B z79J>iXfz&;=e9-g@pmWVtS9lt#1oBRa!W}aKut|`Bd(+J&m2R9C@&kw`KTR<6+EV? zhZXgx&#kY-QoIpc>~Wf$jSb6Uo43WAD0oq#8HQo}V2Bg*e%8{0#2EBMWo_+Uo|ZqraY!9B0E zXv$hQUo>L+$)tM%1;|>~%$YC3B9MvQA3fzgqa@lzg4;er!Mo|DdB90D?#Ck{tERA%32k15wd| z4ulG55*~4{{%8^&x>u9JtRAk1?p>kNMkISRdD&JG7`eOg%SH|4R!!p8+22 zq5De<4Obi=X}=fvL0;MK7cDg3FJbvlkOr`gCBfOS&G>L*KvTqiA{)*7E(1)@V1ODC zTm~c{)G!U=KgbCQj8P(TBZ1z_{oJ()GgsY@QF9eZC!Tkqvzfxs2r$(OVBM7Ay$+lVc1>gUU4T=Xzrf!{ed7iGJs7+Cd0 zub|2tUsP%$q~j3)P8QB}ON8!o?%<2ex*{3*L&vf2t(P<+)l_nlckVmDGG~FVJZ!`M zVuWJAC{w;{(tW_g(HgjK*o}?=(b2HrZz&&%A?h$xKg#bPGLPS|FB@Fn*{h#W2Vk!- zAPNq-o;$$2IZZ?X_>ESgU|H1-M_N^-T zvZi`8nNhUvwN?k5l!fQbaSSoNvvLD|#)Y}UGSYn8eQI&qwAbhSx1KUmkE7x?md%6H!wj&Kjc&w`QzTs{3wiaI+d zrQ%2dAg4$`EOsuA$tZ{Q{puUj0zT+Fb@lo`ArbHrU@p<1WP`8kyR@#`Yq9ZIs?A{93LSdIVj1feN@_MPsG}V9 z*ISyDWY{Fz1mh*OnP`quhA<7>xdUH4z@imjZ{#34yW9(ReV;-)Wdfoap z$;`y-tFn%#R{9j5sHtab)v-JdQ+-(rLTiWK$67a1@QjDC%rEJlsqdD$z1jVH1G zpmMq$lH>lkiW&jqTqFX41Tt=zKP(7F{|#jIfv-O*X zaLNve3E%0(;RaPRmwK0h4aa^ozt*0#Qzw8 z>C0n<`$LMtCbD^4W{;MFf?rDuXp-(bU@NRWhH|_kXZ*G({Q0Qq7?TY1Q7de`?R1Vq z3_Hhtnsw|7Y}hsWyyiMcF29o;!X~VA+e&D^2bMbWqYT%1V%F$CJrLnfVDVg1@4sxuqU8d&Ho4Cm0FbRG79!eXGn0Y9Fg*X%HF!%drekVK3d?tZpya-(LNJJj|t zidb)*UqDBJNT0GV>`5F+BEP*7mOu=TOltvT!o=P?>(9(`C1*gahZb%h$Br22o<}Cm z8F1Un(D>*LNEX#X*$!mFlSFDUlt2?6@23tWC&M6$935N+qnfau^Tyy@g@6K|)*7ox zZVeGiYYX;Aacm`=%OZCAt#8Arw9FAUAw9&MQszo_dy17CTru7&EvN7GzZn<~`Qk)6 z4KO#ifd$Al@!gB(r()SSG(e1t(V{01p?xbNnN&EHxt8Dy*#ce9?h8oo{YeLk<~AsQ z4hCkEz8VQrz7m@0KKS*0eb=D?`{Wl1R{mnT5{j+)5k(cW^49 zu)^N+GLzVku0+}Vp^>0G3cqo_@ zM*hhRN&KQ?K2z>I{>|+1%kQeFO{edyf|>S%7S;-(nF7W)3{P_>pI)K>3Uf4iy>L4U z?0Pz%^hCXrYVxTwp2yA?#Ncd2k5B3$@om1}yX<;afkyDEB~dugD{4i|dg0wa zx7U4P%q&M#)xSMoE{AvY;Pv`Jk^VZQ<9o6BojjfZc!EQUw0o&5hMIp*bmM>`6)=$- z5maAIrKaXnw31rvO^g!!xO%UA^93!$CyI_&+t8FmjhTZ+JRyp}<^7ME>4CU)xun_DJdt8k^+OzjBAG&q>7O3ofeSMw2{Ue^ zpYfj#?0c-izn*@m^Eqqz$yPHp2Vi?HMS-ZO7@isW{Q1XGw&&c>tX2Pisqu09sqrx& zNJ*FWW=lYZPDDg$QsPCmvy*nbqv_bRsR2sYw2x6n*I|8ED4l<>!1@l4Ek?FtB2VV7 zh-`36d2gfS#7%<)>EiiHvFhvob3V1t@)Wfw`rI+y_L%@Kc`6Iov>m&KSd@1s2*ktL z5=Q^Xh7)jjWquS+-!gE^S~RRE?6~{_HCIOnEl1xa!2b4K9!Dm1qX)F_HZp6h8WF{; z1>;qRAB1Q;*eJ7JZCvv+eru?MxBwqId>-r0)IJLu`@=NNADdmlLPRezclG!4lj@ z4T4wxC709#xdi&Rh=)uJ6A4L-gq{`mKg=cK)(Zr{1<0vndy@royJ1l+4z9VhW{k^e zRn?~I@qDsTLSPVN023S`l-Zz@tO23O4SNdkwMP@u0k1GxWyjk2cVi<-lepF0q?~0| ziS)`Oc>VZiiEsjTF4S0!#Icg3co{ixD>!F_*i6wL)mxn-@ub?njd~BNjv)fYMSY3K zBR$k}0w4jxj&E}B25eLf`ZBiGJqXe^O$i!Vx@0}vO@+{qksX+o3pd~OG6?fr zdw;>fCxSHKoQ*2fGuhynY`hB;LzUR?D za|MuY4~eN?q&i1)g>Nwxt3272<^!ot%D!?0gK%W&fmFv|KkYB6PFnqeRLA(Hq+?N9 zYw*Jr#Wjyj_wf{VKb#q%$$Y5*KQNyJK}p8Nt>~9II8pMCa4jAP-1kTP+hGS2-w%BGI=?;!)1?vt3r6;o zOLA$dvAFQy3(m~vBg<`d0`$J&s>fj1H0YR%gH(07D|xOqA6dsQ-aU*Y1E ztOA)bn?1tRRBTqj{4POtEedK{SWOW3`0D9Auxm3R4JB)a2dQkj=^XZIv*QUmY75$%{6?NVONBK#5Z5tFzIcg>z6#f8 zgjJcmP>}yeppDIrDEj>4&zU_J$o*joA1E72TtC{9fA9 z!R&U??Yt3VZ97gLDMD#HukR*#=*iRrE(~W}$F9O?((Fh}ej zWo@nj!T7t_{^9=rJN5jcALIev-~(Y&H(D%-bwf2%e*I9GgpeOJ=IzHx`dHN?iHYMG zPs)$$S8fsyhgr%TC~Iun&v{b_)wKDnYKVXkxaF-rs|sj~q+HD8nvPiD1`cJiVKMs#Vp6LHV6nT>~gs_bbNwkGFARna;;s)*I1<`9yJi29n4T z7A6ZPS+;8!txhhl=Z*2hkDNs;yvg^^k!?xnL<`^)qn93)62>zvp zvERa(av+qyYF2+qQ9ovm9jXb94`+@Yy57}OI8-LdPJCArl7()lN5xT)VQSWWJIe-v zd0a(e6GgzxvCXKwVDvz7cOk+^io6h-U#-v-#j)|lT&SN51n8GZ0R6JOO{5%ESA%w> z;fMRD&uD*mh%A@W25fTa@fQAp|SCLl*B&zEitXsq{aU^suo@R@w!@)G}rSszY?`*i74~5 zkc?9Akv#KTLUHL71~|zNoEx7*q4_bVg>!vC`E1yCLBOWsiPEcr`h`t# zcFh~0*UY|v+&xsGVd)VUmyJtjLa)boo-8D0v2#N`lIQK3gU62f%eu7v8Xb6C6cLPn zNkmFYl-~YPSPUtuXcI@6Rdu~{y$rj-!&rK$=S!a2sbbqoP?|AoIQJPbsWco@OY}C^ zjW8xLa5||04V?Yj7)|>QZ$OE8WYW%#FWPVMG;NMI0`ArKsS zzbX_iB;)v)g6czqk2bCtzPWdV0xff(aaH&tJPNrFKGLxG?UmF9jNh>&yg-FBESQxKv0j8n2H<3l!bAF(qq(2qdY==0Fj~UDmGDx=>Y%Ckjk#rs^ z&}q6kdi9vuo1Vd@^06D}ND2_<;Eqt*M{gTO|#6KJf98Su6}$= zw$=`!*HZJO2|H!Tc+#?V?vBs$&^1wCt;rVuPj8+L-|;rTcgkaj1GrU--NRu9SVF z_wIO)-VIdA^jRQ)mV3E&?H=9_wtPmXw-sMjb@!qHZG`-bhwb-_)?n1{_Pew@6qN&^ z_p9y4uJiA(s=19=VUgKiHkW7?uwxG%gr#i`-WezU<5_H~Jl(+hiwG(?Av(x07j#rO znUX_d@HYOq;U$`YwZ+)|1)?Z=_f}X0H94J?T@0(=r|<}5pOAA1de(87g#otMt@4Sk zlqYx_P!+^TGkL58pj#zlIC7IrqNwDzcfteCqGHHRnEVOR z=o}YUp9fbxHPR)*^3fux$>iR3}zE zU|F{mL_}%{q@vSQDr=YU)$M-L#FSlfZ{L~8%{siR3%#kc(lqOKm9cS0v+(_$1-a=i zdR>N%9(sj>VNlaz%iB6*6ne1h{>K@wTiQqEmcKoR|G)pkDWWq(Q~=#bL?(KOsqhQH zm^fe~Vp^+*q=cihZ&Px1 ziTf?_MPDx7QqQ196!;0Af6^ivGxu~}&kvYl!U&Tz_J91=?kWv5U^ZM$JM;8h1=)1S zEt%wNIp9X=p3b*xAq^fqt#l>oWb7&tjrX;`7A3t!UD+)xa@-zAN;J5$zc5sfO&46d zSbBrI{u??{)nx@cK?0@BAo)kA&k6`6;;%rGBZTlVosm#lAdu^5@(389E_5`GNs6pO zd73kdQc}f%_)SY4Cy=zELT1G>rNk>Lk?crd4hwO-PL{~&yQM{{gEx$?!`mfURyZGK ziQDcCJ0)H{>CJ3CzTo(%VhF9HDp2WzCgJg7)_+;;$!K2)7q6`A`NTwdYs3911QtdhHG&q@ zU^oypJQFFLU6sh}{CR@N#HkbXc0C>uKbA`zhw>S~PZYZ*g61(P1s6>nhO&;?U&;{n zvjoS9oBCHsE*?mjof7UJ|3pNCQ#Bb$(-@#KEz{3in!5-GTuV$OuAj8dpJJj}S$E~| zc-yIRi;2m_jIn4~K^;4N?0w#XcnXANTy`m=?_g~7mS^wdKe&<~;Cj<|a~>L}_E_Kc zi*8kom6zwk*wDcp=O;s@z4qpi#aWUkLTfg-(<~b>XQ0UZ!nEkqN`X~1e1rt+m6vfG z4EKW?mSb_(S~f=CP@0rcMc6r}*dPD_z*Tua8?msYWg`D}C5sTgifga@<5HBCDke3w z899vdWfqB5I<%Sg>lYX)#TEH~3E*$vn{z;9nSVz1JIxKJK?DJ60D$0)IHbAb!y3#z z=E>f4_9T!}zw6R&u% zZI!O1tqgsBH5Ych%D4dr8D)29y1DgqIJ@)=0(9#g+CS;qo#1%p(MN0vH1FAu=I^=J+%E*;DeRJbm)C`G5- z8@WG#1W}6ZsypC*A=xheYX}_x*Af;hPgo~JlF`yoF<|S9yTlGcSfSgekw~hy)d_@9 zhhLSHDKl-nFbXYT@P<&7PCA?b*XrvDlo;$`5D-BN`Km@naYQ*iUw(bT0m5ld^0`v_ zVyxkHs}MsQ$C#W}hv8hEPu&$O?Pc4WtGRKddewS3x6y{)DlyA+_p216to6 zNCbbIc?|l@{!NYB6)kQSWzG^c;6;*RYd(TW=GL|c+;z?M*;%h?pj>9wFump?NE z41xxzgXEP?P%`a5ln(oa1j7Rn`WJ9QegIB#*Kq_KDP{H!vtCwjVm>Dr$C3t!aSkH% z>O(jhXdE|Vxz)>XR=k=CC&QhA^e=t}5zb0~qm>LrnozM$GB^&W3yQhV>{l=tCMHs& z(_Ko!CPSZzaus2W` zy}3;FsI-AtvnJrP%S9a`wihm;&#^S~^}vm1ln8y7DP}F7Tp(^bDH)&RvHoPdOoDcF zCb<8#uJ#^6@k@IzJ-@;Aic@2ez1l6MRxrO>nH{iys-oa+b{vvK#mLrK-2yS<2c~Gpeok+vKQnHIeRZ zNU+*zPw#@UF13jd?{05?2D)@afcT{4HZdZ%+$DDZrqxV!cmwOh2;S;%r+6X-96k7C zB4&DO+^0z{TVd-#Itdi~0kc~7F7fs+rcZg!$2B)SV+AGOn~#^^N?m2YC=}fFEuQ9M zVFNqGt{@P%48dRGb^{2{_t)^n4{vHGh!!TIXsot?j)Yn06jX>DLb6;nGL=gOkumB%^HDurrp_f;VS{0IPVX@u_F`og#;?X8#1@O(^vDM2T0+N4%t#H6}Da3-7 z-%3peof7BzjOj`Z8O(RBXQJ3WF^l(On_{^7g5h;#_XGwJh8J}i(r$6E3Bd5oA#s+a zaL^yfI{U?j79_9eijM13)l+#&6ZcdG^|W1ZuStAb#`mCu(S%qPm>Uu*)Eg*aKXv-N zvo2zO`ZY0Y0yRmm=;RD>Cg+_-#xD$?mTpJc3Z&@!_+Zl-I5UnJWS}~7uJcCM$m7sNgWWA?{CpTd+ht>kpomzZ@dWXq@d*# z+mHb8CJR79lb93(Lv{}F<}>2BeU}A1_cE|OgHIbsI3Qpv3zT*?LDLqG%@t+Zyq3}o^m%Z)hHTm{}SJZY|!2f@4PV)600{%y}8^hqWQcC+piUf9r5vPX)!2V`K`+-I&uHdlL3Z4dc~Oj>DI} z2-qnam%SQFQ_FaSI92H4;AN^w(X5xUR>#w3K*W|74Q8THzzTJ$S}xr*GPxucl>Qn+ zsNLr<9}KO2@!;OcV=DDBZhr4MPb;#TOaf23pi%yMF3$9>f4uOS3K!KI(Z4+Dtv^rD zlOHDts2$;)L9oS6VgQ{pJ;L)JM9X3@T&TezUKvQwRF!;jz@Rb(Po#|B3O$pcnQkUg zBY#JT0Az2cD1CJxpcTwGS^eW~fIU|cZg>Iy%CdswCTlW0rC|b^IYz#}&?81fT z4Xi(V0mhV!m-n{S7bKgEH=@7_$6sjSd<4%!?#jJ-pdotwO;$cbzX}suilk#&R!mI8 z_6*x|p^}p2hU4$mGEGi9J!;GI^=sapeQEF@oBYkdWa$8a_^Q?Jc)f+)JJD!iI4S zI+J{A@xrF_XHGP(py?R-FhahL+UcRv?lDv@88Kx1IJW86&b|Fgg*#D8l;*{n6x1vV zgVO!g&p1$OkrAaL%T*a(dGc!}rv`@28l3eqWr+pzxlrmIm#On5Jm(u3TWy?WdI#^Q zIsDo2ZBDHl?>yM$?-_W!=0&9+<)!g%L(W@Xfkn#HI+#c*R&g;Q{5m>8LFGI%B{d)S zfCr_JzffA~v6Q(A<9(VW+^gp*fps!`X-ej5Jv1Cv1!RuP{i(g3gESgS`qbdGoO{d8r*sMPdto)+uzN2c#gt#ZmUuy@Xm4Wr;UJ2gg z;NpgSr*kgKbxk`=#Sx47++uwWm367KJ;%HBaabTh%Tdng zc_kk?)vZygiEdH=lHK2NbogV@3JU&;=Pp@I$|9yZ|c5hD=1 zoK}PI19;@b7V6-&(vDx&r|7}?-5j`~(#slzfj~_nwbY;g880C;5@v9NDJemQ?@rFX zRa?V`x|>lYPrno_NN+T;@uWvU?>3{GfUIQmB!P}m{25ff$MLpfB!rSh?5sv%e5$7f zNHTZ_4GeIE^PjH6JG^WCkP^mUYiAEvH}THG1)A=dy!MDfPVMXcv})vOgAOT(KP?`-;UXT z&usyo@eGuyCz1gLA8zfC0spG`Eq#UqYIJt^BqNF%{mIJ635!7$nnbjT%t<@&sb$-1v?sC zU(K{vyU#sOHNQZzw-|X$MjFnR=G6_|=nvig@C~-(9M0)gK28>?Ro1u~lAE^YJV^}U zx%j!ToqI#>hEwDI4hGh#)}6?#9B}`0$k^fou7NYn@;d6>KE14|g7zsTC#-raeDBQ8 z7VsNhBZ2xcJuW(|Xdk|n;lL!-NGK+WJu!f`BKD7uZo1z@w}KCFieU1wy{ZLKVBWaOH< z4NK(p2av$BM_}R*noH$MkTTXs6_oyDhMza5-b70~^7T31a;gm_+Buu{ z{JIw#{9|9*&TVm08?6~H&>P82^f=u0eMCnCTOxEtiBT~ek^ip&A^lg7K}&_%xMzlLZtHqq|ZjE$lwz%01@;z3%AV*a?|Ky$0jXz$;op^9&qdl3dTT;PyWxyAh zoV_tqYs>3&dI62N&L~6-!rmTIn_JY@-Y zxom)HM)Rua$H7bhLjqid$K`XPx8*{d*oA@PLbH=ZV-NV8Iq<}su|b>iF4;+Er+5b< zpbw|EK5Q(169l9>3-ksuo$6tGxE>P9{gvhg^ihGy=6{{}xugIVhT*%y{p4;&@<-EHJ6Qi-HAu zcB4m-rVL$#o!OGgT%*uW-~N!iC0wtU1ie{oAuU)(7jMsd+wJ`qGlz8OwTgCOnAhnX zJC6;3*m_Tt5>`~Dh?yQTqE)IIX&us=6r}Oqe-8gcx=byc4Ex#h<=buHD8uMMK+J|@ zv>cu1++B?%>2#SW4LtwBW8tF;J(+pl<^?{8M_JN|LwJ0zqmy`)% zu8xcy(L6UrhxkwN~_Fj9lBAW7x<#5tDUB* z7_mK=#3tp(Ll7_X<@tM7Z!LRsEotj*u_LFS=tT@KF=>IweY@Y`{Rmh6`be*Yf3*)oxv+ynzXk zeLDk>pt9e?Z+k4a=IPn5oqVx@=6BJ5aRtBaxyEnpW6tIM^-tfGm8p{t+z~;SHm7e1 zhK)VD=l$;KYhas_^4%-1-`-}P4;$$XoC^gX3w$0N6P3N-qe#X}B}LDso+RZezf*V~ z#j;RDOdgIUqWp3$_smgd`#<~wo#ijZ zA%_B8Y@ZhFv=8b_Pk*-@Q(@2Ut{O?MDG*za%`8Z=9o%N*7#IHf%bREZ1=DKL*~50v zQM>1=%rtrPnfTm5lkZus^L>J|e9wH3aP^ejI6~fctje$MSegDTzHEb~#{QskdShFl z?K~+)JG8O!)ZtG0ot>MFo)?gYx(ba}Ai^m$b|%WyQBTXTQtF*Yu`Vic_(5G~!QHc-Ppk8>?v0@q&1+Y@ z*EMu~t;#9Bqj-ki@{EBxpXMOXw6^j~=STS_imU^>_e#eaT1oHR8INGo6|yObZ(cZ3 zR?oBia6M`(HRY;HDX*cOV0$^7ge1BWBWFoHH?=7WP*xj;E&N5NCA&EW+JIv0$hh zcOefiiz{ZP9Y8gAk_C;XNY_P&&y^6mZvzfkTgsP-uJ zc_P-X^agoZs(qeT!ay>7+o?cjwEl2gO@Upr#rr({aAwG5hX;X>9<*CQ)Mb}@Eo0OA zW)4UpruU@%J28|G8CRzza0c7R8{=!A(|kj>-oRF!dRORnBFDB9j;_1j>-hRLxeGr_ zx*ue4r?KCY(jUr(6JWYcGTQ?jp}?}I!&XS!Gn2zQwK!A&p7PV(_8<#b?0)^-IAe#z zvs@uOMycl zHgmV06?)WU58fCC=h|&b8@)Zd%0-B9XseIPLV}2%S4_5rY2*?7Ov{a~M9+LT%_`>Z zeqF3b%5`7LLDQj2FwRUGi_-F%%|-+RCV_^#5;V5>KZ-stZ^{_)@1)R>j5sIC$zX=Q zzygAzmlxFZS;TZ~%+VK9=jG_@hDxFIGl20+tR~~Nvgs73#rwX1PV05pnjp;G>s}vp zjn5Q-UPo&sDcitsX2GJIYD5b!TW>!fvSfxC%;8nLvt9%C_AUg%1JcO|vCWU|7)1I| z0T4N=(5poN1Sz|0Y#2gDXe+!cgt)sy6P&yYmrWfWB&+(Ko;n43OuVO&ZPDU{a^kXe zhnC$P$>9iXrPnr^mkS9xW!dx!F6!rsEp}IJ3rBw@5Z%F4&2mp-K3xEuyz6bSU&@S5 zW#im=*-%R!OG7G%T_NevcJ+h5@1tg|=d-OU2Dh3}g|jaTx-bb+0O8lB|3tdQ)J6bZ zZ8kmfa;1=Pu4{|?>sDBVGr}~_&(<`NpfL-)*CL+ey*yBa^=i_gr-G2^UIqM}iHNWP z=z3EaO%cdN-#6Vf`M##05SFpb;CT}WzMqZtmDlQZ1N%0Q6vu`R3-Lw5JWFI92tfsr zKakz5bR-(ym&u?e0Jo42pp2zV*lnr`HD5f0W8K?PRr*{qrKp-4?%cunB+a%?_0(SC zhA;<;-Tf^3edly!ImR3;^c2$|#IU8mIx8{_5`y(JhCwJh>8$S!Ao6z3GnIJ*EX*rN z0E=P)SZ?0pKp_WB^|87s1+NMkOUD!tv@g6x;*SjK7bx4ptK@m}B54k2XCJ#p322F_ zC(g~U+T=8Cs|lkT9NYxe1BkGUnPAk)M(zS+g;-ZA0Ws5IcFom=Mx7E!+TE2)x1WWr zN|;M2E%(WO>{uAb^VAMShFLe-R>uw0*gAE4T92&5I6j$EF#59nahG(_a$c?edS`YY zob6)R$kux=x#U<c z2xALxS{~nixX>WlIf4kId%Z<3=7_L%+*a~Cj>0$nHf$^Jjm04;1kD`LoV{TuDcR43 z;#{M#ho3zys6UGgjm9r@1{)}tux*3BaD5rmJhC{Kft^S7$s5C{kaNkqAmk?Ifv|Q_gu4PjqyyOR zG$9$f|9bu`B!TCtZdTc7d?w9N}?fU32lX1@oSuwVUr*B5Z-& zCD3S5FR%`N00mmPf|-SV0@6ry){)L*>bAsC;YsAc9Ob)`UaxcaocMupCHKHjazGF&k(Dlgq}^SN_NTD9eaMId&xSs4v(CLpfw5Lyz{1+A3Bb;UpOH{OesyD zmj!$O{qi}Z_U)&M&z3>AHFXf8R~Ay|!(Ei0SZ!pbDD)hd@xFUWY&G`gInb&L_W-2;gf3pxgx;h9EabHp*n z%ed4z#QK%LPJQJGqdF-353ktofA1425la4)DfStv%jns-hpo2?g2cDfdl8x!r9Cj% z$bR6Ah)+^xmY$1*9AA*qyD;KG>ET_k^@x_@mL18s`i%Z9pU<%mMa1n;)xnB(3g9t8 zV(3YiE5g+!#j_Pe-6LP#3b&0uxkVqTsk{KKn4Wi9u_V`IpsqQ-47jZMp~Q?XOjxp> zuHVhr;?84XIz7H?jZMN1Hh4@VH?@i?RmV(6sH^>thc4+}gYAhVDz3=jfUaSE2lKzPbj76DRtAQQ$&MTAko`U1F6jEt2* zXUPE_4uU5}ZXm+vFC!XDpea&#iU7V*4)YK|wG_}SCUUI|dTR!h&qVU5@RQMC9T_ZB zj@TxL-8Y*$1cvHAo$)Tj@)UqhV8EI=m}m*ChUxQw={{{Iq7QKSb|TqEirN7~Zhr!< z?41698m`NLHZvLiNF+lRWiQ!ONX5V4Vn0w({!++NBKCy>f0cpEGPn1ZpoRtb*9vqX z6|z!}Pi6|1+=3JNi(km_T{46l5!g(Oye-2wsH8!5Q^7(BzJrQy6XW;rot84O!wUR; z2681Fag#xKDM0&*!J0DIOBt5_9>Y@jr`_>%MPe>_x#!nnr5sDCIDgR7F@}o1$FawsdGH^M$VhR( zTOx>u7K8N^&^t1;fduhLfmosd`eo=u0qBkr8O8t_Ik<%!P^%KNgaNE$;&*X?bzFR| zfc>BpEM($_I$#GFSjQC9NiK{g#XcW~p}9aL6LaJS=wLeTj2trCd)pUZvI`3|o4IJm z$0asguNY~5kHhR>)y?29Y)63@agWb+B0{WTNOxx7DcS59owILrdqgnMSG{0&ngAU! zK1&9jF2g-)f?VRG!sL+sa`gER;>{G?DhAAxk8|||?FR7i62wh8+?NToQZZ|Zu%jFY zh!Sy2j3g*wCzQzfw^u`o!C8E401->E#1^K4b(HWZ0DF?b(o#ek`@_Gs!un;%*bH3o zsS=a^_0xZHe=Z2z+AzC)#r8pn_j!wg3(f^|OsyzV)X(-X`l;ExRPWijKEJlxuB_9g zJ^>!ek%3g`V>xn`6mp%9S}68Csz8**vFiQolbG-oyUHSE__bopIr&(p*v@w{{0lMu zqKXR7c!Av^1^Y-c5~IKjNn)LGo~xkz2)CFjM_!WRAMy$37%XE6z$ao&cIEXmP)ig= zyL;BJC0At2!vvg)v)ypVgRpWACYuR=Iuv}&AKs3fHA@Dj@O|8=8=GDf;Lxa>DM-i8 zO8FBXEdbX+MN}#9U1uSEa?}!8)s2HinTtv`F<`&=NhnItLq7U76**r9PR>Bj;{)~r zSg3gCEhTc=7+dHEvp+-SZwc8M<&gmTmK+vM#8q&>B%<#q3dE%kRq?EuLN_2ka_JfP6^$%5d%e}UjAg(&26J_vMs?5@br64CIx=(`J z*jf3YLzgGUy_b#U%#aIZp#6O8Mj7Hta+R?dOqV3egTX<3>^UxMuNWW8ghky(-60Z^ zlwc1Aup7W>T3`>zpc!%4=l=U1#6s`_ALYHSY|gEYdcpKcG-buAb=2_xIlG)g>7 zdS{F8alW^E%u_@|T6N83v0w$RgiG_5qd!Ur=j3oVG1OHK)msU36^JkZ;-Q4_nu!eM zxVlI~mmWGCau)NEL+Iio+?c>-DmEnk2we5}=r0PCuK-48B3mWU4*9+wF5Fat=;sh_ zi*bjP%pyMFvmF1GOSs4YMe?x~F3^6#v1Cz_Gb6CgG!Whf@#k--E&bjEO?=u+2_EVP;npD6KupgqTxBZ-S@6MY#Q4>k7MhY+?GR9a z933>9@Ku1Xl7e0M5KRuK`6b1Y3o_&^U-ed_^1jjce$Z>n6iY7HY6bb$jP|Rb9H^AbnicH@ldolGmV{- zP5g!3?3ua&68vWYp^ck4i^HPQ5{)HGP+ee0ChVj!X`n8eYQB&XoDC(ZRBZ#9lR(+UWt9Ec+MeKdV=I#F+Jvcp!AwfNAOBFp|nQ;M|T zq-og7d_3eAFb9$zd`OwwaLytj&b%+pj;rmZNJS=T><3L9c5GXEhCi)^6nmmQRzyhQ z#JCuAus0-+h%a~-5c~p>WJX8eK*z$gjxXGf5h8N->y8B*I!%%~UaaiMl7RN)c5)56 z5WyW^_#J+MozYcY@iV)|#zHQi*-0isSI)c?AJ`SKq03C!nc8xRb)?g;;F5FSCDCX~ zOk_u7WM^ho_r{cjj@2_eGmdnN6WY=ex_AaXWq}=QM=vcta%ty4&!XV&p!HojuY2m~ zQ)36Zh05-IExml(9-qjbBLW7IJ9&a4s zMKKb}d@5#U#5){-UfXHx^^aMo7?WJHP>IM3eyviK7yT(+Ikt%{G+{L7%Mb!&liU1y zM3_14^6jI9t_}IhP%MIGE+Tg{4F#Dm4CS!slGLaU+)z|mWa2r{CCt(em}r%t{}wQ)OwJWAp~1{Pf*`eJst=z?93=s1}qZ8GdFrL8MxP z8c)2-sQf0I;n0ehzroZvm)?*b0*^RqEtkw}zD5XvX)j1WvPkcvq3 zu_e(6q=AarM%slU;;iCxh_XW#7JLDIRb*5L_JFYfK$*5E+u{150suk?lx7lU(Mxrp z$eFTM^z$8X+S}T^cWZG9QpY0 zet2}39?Sc1*tc45g3}1o3pS6(>co?OCGOR7ooU-^y*~Bx-1g5&2fQ=FUrTp)80JVB z`Z2r}Y;<@G-%j^y$U8JOF+tlCKfkKsEydh`;)$R=-^s!1#Vi!U$*<)U9D0Y?+bD}) z;&0Jax4me_o|&!eefacR6w>E4+mF2WIvDSEF*R6-G8`T(bnZ#579QsLWnOjMz)&rp zb`0J4I8O%|X_TyYN~P0b<6$Yw#RBztF>CB(ctJ_U()1Z$H74 z&zbZYnvE3}JzW3Uy8Tf+bXGddLg#7`eQ~K=h^XKXU9mZr)8C3)%Gi!~SWPWXrpTJM zU$t2%6L`V`8tn=Ud}p4$Kc$%W7D7r7EZI$4JN&VG%KQO2gnFD(1B=kCih930=`|JH zS3E2Vxa9e&{hP($7Id8q5!MU?tyT*B6;Fc%awgu?5w-XOK(oyOnI%@|vrSnZh=zQd z{S8pRz-5$?uUA=V@~i+USo@lV?@UD$AsGq5Ep2ZFGh{f=^eA)yuPu5k2#5=fG1jkO zvIz=e!BSJU&e8HV$`)pRe5kS3V;)3Pi&+?$<gdX5kz-aGTI#QjEU9g5o3x`|e<06x8*548#><%d71(QdWq0wUY= z5AeJkgKV>b;VAu!0tlm<28VgI>ZFEtIv!#;%ww34c1eAV$`zS-FPi?PCeP1TQ^W?{ z!0fT~jee>v%8ECrwVn6VH1k1te(Q0f-UtHIC`H6*MN{heo@q;jdHxAl;!i(uY4~bc zSv83A(5urTd_hh`L0jb+o-VdgA+uC^VH~GXUR7SeR?Kp%~-E+#@)rpxkflsE$iZ@pNfTwi-M)i!k`CPCVKAai0u4{&LY9VQ>J%vJ3_=CCV(v3qYO%dF{p9iosqMHlW#4Gv zcJc#g7Nqq{R)j$t?i%*_l>xyVM^&H@x42u^@s$5nHc&%+TPbR{N@qPH(oPBlM)n&O zyElgkkXxNQv`&j7jYlM2$b(Gn#NeW}>37bJ=J?w8%0b&+GYn^Sh@cLDYjhnO>(29@ zrg)XJT2QMupx9zF$S-sjSA$*sLF}Wrl44xEwDjV4m{fpD;6k@@;Se1WT|&Zk9Hare z>wUDRFb6MO6;A0BY?<-$ZO)d~v2e1~$0Cckmr~Azm;tl}V?E`w1|COX+g-N8EO|jTeK;HUIg_gU5SzoQ747xnOGvU( zk*f!vOd4e&K{L?W1%sMf@3P2R$(cmPW8H@^-?c-aqNOn`@P(PvX)XM$SsMnSME>** zPce^zyfQWFd08>rfMs@fPoVvzw-^Z|f{#U$H-+zIpM{Q+e5C=K8S%iFBn{FL5JPrs zJM*dh*5_myr4i_$7?29)=|pQ?;vSs+?blaa-(`0@@gS^$#64(qQ0K}>gNe)*39l2C zZt~tb)wDHtR%-QL;)uvJR2WRBR>REGWst@r8a5|ecmG29X~mU+KEswT_^)n4Ex7G- z)+2D$6V-<27A5*Y;F4B^rW_OR3mRDXN2ihet1ToSp+&dztky*Bo1=v^#`b z!I6WM1v(Yxw>bjL*pja8rvN3f_4?GO`_bEC?J@J<%lpY6i0;J92*S2mOHm4i|8avNwY&; zKZ6+ffS&5)@xGBY01dhY4f+|1^kU8>Kn3CaO~<8%Pi@0%1={sg-jff^qa#rs0J2#& zr<4iz;>;mHgNVsQrV<2ef<_Q6=J6qOKNDg~QTzCqD@yDYIi{YAx}sQoUIE{d4KAc& z4#^N6T(Bk=xlsl&BO>{Hn428Llb}yiQBlM>h7#x=BBojl-;x9_QNjZypv_#Q?sep8 zG5Qb@b4&>*G7wvoP(1;>L>6Ex0bm?pDV2~chK5R~EWG7=l#e-2ERL>*7K+i;R8%n^ zb}DAuNc}cz*|zUU@is1O{}a>+Dyl*yLoDQmAvwhr%mCc7Z6_4yI47`86Mj4zghP^%salbKZmIPM7NEIj`=3@(I z#PCohi!L^r&qsK!MUF*-^!V`gjMP3T=+6AywM^7@1~Oa@Ms}1%>>@$|DCiWdoXH7S zvVt?=d->>mIp$_Mri@zn;8dX@7o;iEIdsC9Oa<*LuJ{IZB|q0e(7>8vE36VcKN*;= zn2uC}X92DVK0v+%nmHdd4S+0o2QY|`ZhK4{fBixxY|lww5D|MCSW1waS#v;S28g^C zWMy307*{#05>_@Z0?*=u^<=vr#6dhYkVm=L+fs~C8bnV3Xi%$s;>@nK0UBJ$(WvD} z0OTfs5^d*XJhQcCgohJt&6rwt;^`S_(71!38zp5oN+3p_wr1^-cAV-xH^78uhH-c` zMZ@-Ty%D;Z;V+*4xs`z?LA(UoHUjvu<*<*{V{K*d(6`7cIcAp_naM=#07{a$P^)5+ zZ;5VSH5=bQmCz5i6~JpXFdH~v9kiJy5hauqZy(m0?Mj-SL^S7ug#flqf?m$oJlns| zpcTCA5NPgmNP>uQqCtO3wUM24mDyv`hZm3wUdFD2`{~pJrgrsCa@X($WNXE2`wJZM znv8wE8ju7DEY0>{U;~j;4P79I1}NdI7+4qpiTqw$O#9* zxqybG0v9|5Nd?W~=#m=_#q=L?y*~9N4Fo5G2y)4);v>t2hg@6hFf2%!ZM}Q%* zvjk)cg3JykGXRJgL#sDjD@u>VA|4AXu6tH-?B&-Zv|ysvAnD~>{a1%bL$1d)gvUNr z9Dim-HlQ8<`t>-VF9qvMzq?A|>!rxU$A7OU{eU6>1CYifooK8^&EU6e)>3(z;#(sV*~gr(BnftiD{h*EtOz z^SHJ%s2aQxIyP6#7^CZl=#}+zxXkex!4n$87bqK>W`Z6&&+@S`oDgGvzHGDChHm2U zV+G5~i8uPILP;eH?PeN8zFU2rX6nT6=FyfRvdotGfUc9@EyZX!ZD^9+Tve)NidmtM z^czF;7H6kFAv!OEOgTMgIYMn4*5rr$^hw4B^%j& z57z1CaNBgezW=-kTsL@8$2=`YI@WPnplcr)R>uly&(6lhH34?TGBqGIe zH@N83l+4bH_$f=yvu&T>uHHOrdKb6$>0ZBl=dcl^2;$2Y{{G2-V2t9iBmMSrV#i(% zrD?gORR^wtZi$MPs}uoCd{0#iRbI7#Rw$CgHMFk>r8qjc&9+iRJ6|E*=ncg%^f|8SyJ z|ClN>w6`^LtQW^Cov$d+o!!Nt_zlsrbH`R^G!3?Avu4;P>y);#+aSiejiwI6;BJS- z5qRUb{f~`^J8zV66O?b{)#Vz(CY_H2i>_KfT{6&?Y>eCQ?`Du{`j{A2ZupHU(_Kguv52ixh1U$Q1GhvH?jE@0heo0V)K-X94RZeZ?TpJ77cIT~ zj5z!DYmaTJDPrR_%Mkw{^lGI?WeZqXMb2j?$h;feD zQ@L$6evP0hV8KGV-&V6ux*bdt?AKson4e|RjWmItMV6*=8$@Qxk2x5vyE}N%fh%Jh zYXEi=f2b-I-D$k}@Dc8E%dmRla)JpZGf(G;bxp)d$36$J;Wheoh^C1GB|5*SFU+#Uw-PxQggpQdp@3wDYO* zoZo`5NJYL`w3ifZ!>L+lb4b<1@p5`VC%x&V>&L7-Z*u6x0W$-E6scpU7g0ckfB1C& z=mk2t69Skx$A@^Crm4FFk~cSf451>R3edCa6R!d_hglcPUqc9LyVOL zxn_Fjh|r50BK>)``9ek4>CGs}`2a%LfQpz2nCR%y9XAz7Qfv>m3}Gss#qNIWVZHzYU+WQJFD>S_V@(dO74AI z*&ctMOr$%yOoV#U4OX?1C})p**)=JKyy{yrc|shRMZ;pd+3!=OR2R!`4Cx)as85{f z=#Yc+?B1T8z@RxOL4_!ryKTmL#X@Zp z!mq$2av*i3ue#D#-D{xkHTXMM_o&6zpWW@G7F)mTcA7k~^#_Dwvbvonk?Q<`HPo4{ z|1GmMq4CDSQ(fKjU#ZdwjrF$+_e^Ms$xC@nA_A$!mRfA7#gtHoogE=5orDZ{M5O1b#7gqTUYOgQSXQOaqA1mS(;jGsl}FB zZ2d(yRE@i_T5PGsmRfA7#n%7r9eF=K0*#+gO?A{%M@@D9qEu(XfYZ2t|EL^j{Df)* zQX`NWf&QWhH15VfD$x8382LjXka|RqdPL9vypUX-*-}qrW_smo>EQ_R4M}V!Svv!{}_eL6Mn`gzry*)=Ro5p{Gq7Mgzt1xIgme41OOoN z*dP=Yph6k=NhPhBNDZsVZfSM&l^RasO#BoG4D|1 zF8&ZIUoT2J>{k+dCD+9L#6Zu<1K0NARu6qnB=3gR5oO)&vne-h_@Q}pT`JC_OEjmo=H+F|x_w)KzFRf( zFKRXD%_^N zgZ2q`4ZT_(f+IZh?wnavrR>u`O)x;L9T2n5o_+t^E_P+cJ{)_Ao{i(~8)^Ah@CJsi zIjWawzs#>R)N*CAZ?CE-H?+AbyMF6vgpsx3_f<*v=j^P+n>P`29Urtj_JOtk#9HE1 zI#Xc4O2ekM2VR@ct6t=w;6q3?q0ck14g-9+>8U_SH_3x8>~T2Wa(#|zB7H`oP3^E< zq1NmtN%%sWDUWyA^cK9!vo0kTgUowd>;g)pPlGYrnzI@ptO#sYCr-S${%M(cMq|`g z_YOrcR+moewH5>pLSS>jZCw_nO{~_ugaq4OhpmDxs{U4` z4Aq@0>YJ80r42%cS~tL`0$vhiXH{C>yqxgV5gFF9kqX69WYLdFdh}w`S}(C`zj0(Q zZ+oAqi(OME?E#a$MQa(>zR>YF<&gK$8-XcBc1a(A4)c$wdl1b&)RQ)yT7$=)a-nEQrvmqDp7z;yeO)f4GIO+DFV-zD-qc*>cE!TuwIb%u zJqyn+$^uMXIHC7N*2kfUycjSsZJ69+!t}L!G_85V0}!dS(a&GgEr!!NrKaUwj;>jZ zq{CxA50ph)F`{VK*fLy$d8RqK9i(?$VAl+H7#3{#rPv^u#fm_#f#8cgZN8^svXq7oEh5^?x%o|Y+o}waN#qVSp@yON9~`?M?Ik=ckc0Qlr_Mci@jWqb5LX&^qIO+T3QKEV~Ez1r$##4 zLEo|-LyAUCT%80UU%og~r$Ygs#pq7*xh|XHddb8^48q&QFuk@l0`dB!9E^XM^`*Cb zs)>J%Pg%W}_SGyHwYP+DrrUcjvLT;~T{agC9-r?rA+Svzn^2FMQ18s^DccL(^8H3h z*1kCou%qgNJas|dzo8)S53o-?+j#sFp_VOb1iCx$CnC@!HG2PnyQ@b{s7FlzDu6!W z6&Vjp{HV#J@e`^8C+aM!PaxBRrRPNoa&QjZb57z1CaR1HgJSP!>CO@k42Os7l00aEU`yJF`%gQN? z7&%tQ5+G8Gt-pZSnna+P(9I_wfyUkVM~&)CXuR>G|4`wcNiBz&&{&fcaGtyr`h=EH z=hoG^b#-pt%k6|bal_$IzY6Jp6W5w!FK=peTHtyeQ1e%+_O$!fe*0mybdo0c_8O`^9 zVpO@=O!b9`)PT32g2Uj@@xrVL@7biPut}mi6B=XkRG69rL4H?hKKUHz#|N4TFY)-% ze<%(#sX#NKu_g(DCJ$&Pw8Z2gkeceKsm?D=q!h)UGuLmz8$PKBG)X`+p)n>8fhG@V z{=gW2K&pMpj=g-0Pf%k9l0%8B`742zCED z*BGPghv=2{bGYhZH|k+G1dFa(KV34=mTZjM@9$=iYWtj8RHrT@RF@H|%Lpfr15KjX znviIy!#(P*(LXh}t`=Kgpkry1u`b2Q1DZeZcD2}2XSUSgo`1(&zdvxgzhBSR9~eW8 zKxzc~(-3G<&=Ql!fz)E_uNm$ck9_}7Df9_%_@pAxBmvEY#+W<= znmnNS17oPEj+*NHX;f#zd!|O9-xXV`5$L}eLybUc1p3nuXi|Y@Lin2`4m5c{God9W zj{~X2)?ZU>O?Z`lP!*;|Aa!-mU#YsM004u`#u&)h-j5z}QtjB@517jG|JnOd<=0Tt znXh9XKhWK+yxuC(O}=Y+e6p)TmgCj7fM2cxW=_|JyFef3QQ1rPg?7?4-1Go5)O zw~ZlhKZuH2;}0Z-XUBv5V_&I0k-VDU9yz`CS^2N2BNywZa#SNzsTTlRV6O44<4PNq zYWtV9cOr5RDu0SaUU(m5n_s{I#kD=9%Cze&j0KcBi{N=tGF>gh;1l0`?yl?f!TO`So}IcIyPkqs)x4cPGwtoBS0jpd%oF*J4br0PR3)MfXF^bqD;W<*I8*>CS%Xdihh-j-0T-4hy$S$VvM_e#I!{*}$Y8eI zey_UMG2@D|eH}8Mb2gc+quDrZk>AkX6D^r;(J-OI3I8jJ@F>0cGEr!2E4g~`w%&q4OGeYm)tFMzb12nrsl)5VQ5pdo!gKOrBe|JTE#m37 z1-`^beC7Cb0Q0EC5D1zgRvbUVAv~XZ}*Dh zo2nZCBh-p&=CiDYGp3pD9|qs#Yq zKg0sdz}S8K!b0|aW3T0nuFaRlo2f7xdN8&tn@L�=Bkm@b?3hp7j1ZXgZ2%(vcl(}?uK&BDGz)1z>%T5 z_3No?j?#U22I3PJmmdLn5c9BMd@w3Ck)(609vpH<+J}u=O*=Y2B_RA<%tHcim+!Pz=2_9ES^$g1o=HR5_55^Q)H2rp>N4 zp9$vKr?5E#Tl>tD=+yC{0u$qKD(pvyYUpM@^B6A!;Wby$@n#8Z+`vl%73W_1bcjZVb^?^|MwzFbt@>^o^EX5Mk_= zi(PnqW6SsME?QXYPOl9cXD%j~&JT}W8&cx_Ci%{}8^2_nVV2BUoty%@-n;}Q$f68U z*TAM@x2B&mJC@50k0kBo6!tNh^h)k*Gw}27v!728U3bnLWT{YJd_rdxZy^lWF{bxm z`vOubUJZg70v0lXN%~%u^;B2aWjVDbS+cBSm~^n<>=(oL`&VQkW*k3Dv*JUvMmvlH z)~*W>ANzQ0{ch9P^S*bl=pj*Z*v+t=BX{PseLQvU+s|audS++PC$j9@FX`9LJ=7Kv znr|2y3Bz7JM9dv&+q&;f&VlvR08V_n+xNHPi^#`Q3F#;Yw|C{&W>cjdv;t z=Z8Pe`f_#irVsUVzuk9Ht=&LmLnI5&zh3dEw4?IEyPXHl|FU)|`Rcq)ZyTPUS8iQe z+%b34+rp`1zo>|hRJ(~}?u8Erj*EL9nHU{7aN*Ndqcs)!Y~_7|2leMnarV2NG|UR7 zr*1m+`==XwU<@E|6l9<9`M$>o(C;<^PAEzKY@%YL3yxwPTY$DLIF!HcMd$ zya5eX(7qMjYB7@rcy*G%jCcc@7>?7TbF*}G$?$^B^zVbi7PXy)JDtK$mwySV#_GBx zzr6Wn`d0QfX6AK{GpC+YV^|3HK9p+Nzn{5_ZTL0yP-y+a%GmkMA9)Lpdo(P#mG@z9 zSj~_B7JPx-01cr0lTiO-k)8}gAX^3MJTb!S;%RzS7GocTxqIy59qNQNmqhUBL4AL+ zkvl|V1u{xFG;|SSJiCapRA_TMM?VD=5PKZPMX5ahuqfnRWNB zuErzx!y{dW<;aerdfR0d14>#k^;+@5RL-|%NfDU;6}xR!x_4O;WET_L$p?MU`t@KwcI1hGRJylxoPaa zK-4=vYfKbq&9f}I;F{RxWvrDrP=DlC{)@ZNeDZ;pUq>Eq?!_3bnpJWis%7IbM zd`^4%6#3nx+9rrI`@8<4>oMRR(^j48xP;pmP^SN8@P^ATKwy{Uaa*4y#OV#tYU2jC)vY5AF$UJ68^T&gJ#}}T>D~(%Yat1|D{G}onUl*Vi zAeXqz+p=2MEY|Zew^|5`YEO##mj-YAr})75D^XwdiI>9s|9{)#cKxefb+`WmZ{NTZ literal 285906 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%0Dbx6DRPaaQs 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˳GW4=oM}3Ks@AL<%8{j)Xr-x+352ox9cgi;IivU- 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 Jzn>P?{ReUnu%rM0 diff --git a/images/demo.tape b/images/demo.tape index 5c560fe..4d22947 100644 --- a/images/demo.tape +++ b/images/demo.tape @@ -1,5 +1,5 @@ Output images/demo.gif -Set FontSize 14 +Set FontSize 12 Set PlaybackSpeed 1.35 Set TypingSpeed 75ms Set FontFamily 'JetBrains Mono' From 812985667327923ef96765e6bb20400ec24de167 Mon Sep 17 00:00:00 2001 From: bwireman Date: Sat, 6 Jun 2026 09:33:37 -0500 Subject: [PATCH 14/18] review --- .github/workflows/ci.yml | 3 + README.md | 26 ++- gleam.toml | 4 +- src/go_over.gleam | 203 +++++++++++++----- src/go_over/config.gleam | 42 ++-- src/go_over/hex/hex.gleam | 13 +- src/go_over/sarif.gleam | 3 +- src/go_over/sources.gleam | 26 ++- src/go_over/util/constants.gleam | 2 +- src/go_over/util/print.gleam | 4 + src/go_over/warning.gleam | 9 +- src/go_over/workspace.gleam | 95 ++++++-- ...st@test_testdata_gleam_basic_toml.accepted | 1 + ...st@test_testdata_gleam_empty_toml.accepted | 1 + ...est@test_testdata_gleam_full_toml.accepted | 1 + ..._testdata_gleam_indirect_new_toml.accepted | 1 + ...@test_testdata_gleam_partial_toml.accepted | 1 + ...tegration@sarif_log_includes_info.accepted | 5 + .../erlang@spin_up_test@empty.accepted | 1 + .../erlang@spin_up_test@force.accepted | 1 + ...lang@spin_up_test@format=detailed.accepted | 1 + .../erlang@spin_up_test@format=json.accepted | 1 + ...rlang@spin_up_test@format=minimal.accepted | 1 + ...lang@spin_up_test@ignore_indirect.accepted | 24 --- .../erlang@spin_up_test@verbose.accepted | 1 + ...ng_format_as_sarif@adv_to_warning.accepted | 2 +- ...g_format_as_sarif@info_to_warning.accepted | 44 +++- ...at_as_string@git_deps_to_warnings.accepted | 2 +- ..._format_as_string@info_to_warning.accepted | 2 +- ...s_string@retired_to_warning_other.accepted | 6 +- ...ing@retired_to_warning_other_none.accepted | 6 +- ...ring_minimal@git_deps_to_warnings.accepted | 2 +- ...as_string_minimal@info_to_warning.accepted | 2 +- ..._minimal@retired_to_warning_other.accepted | 6 +- ...mal@retired_to_warning_other_none.accepted | 6 +- ...st@test_testdata_gleam_basic_toml.accepted | 1 + ...st@test_testdata_gleam_empty_toml.accepted | 1 + ...est@test_testdata_gleam_full_toml.accepted | 1 + ..._testdata_gleam_indirect_new_toml.accepted | 1 + ...@test_testdata_gleam_partial_toml.accepted | 1 + ...tegration@sarif_log_includes_info.accepted | 5 + .../javascript@spin_up_test@empty.accepted | 1 + .../javascript@spin_up_test@force.accepted | 1 + ...ript@spin_up_test@format=detailed.accepted | 1 + ...vascript@spin_up_test@format=json.accepted | 1 + ...cript@spin_up_test@format=minimal.accepted | 1 + ...ript@spin_up_test@ignore_indirect.accepted | 24 --- .../javascript@spin_up_test@verbose.accepted | 1 + ...ng_format_as_sarif@adv_to_warning.accepted | 2 +- ...g_format_as_sarif@info_to_warning.accepted | 34 ++- ...at_as_string@git_deps_to_warnings.accepted | 2 +- ..._format_as_string@info_to_warning.accepted | 2 +- ...s_string@retired_to_warning_other.accepted | 6 +- ...ing@retired_to_warning_other_none.accepted | 6 +- ...ring_minimal@git_deps_to_warnings.accepted | 2 +- ...as_string_minimal@info_to_warning.accepted | 2 +- ..._minimal@retired_to_warning_other.accepted | 6 +- ...mal@retired_to_warning_other_none.accepted | 6 +- test/config_test.gleam | 49 +++-- test/integration_test.gleam | 101 +++++++++ test/sources_test.gleam | 12 +- test/testdata/gleam/basic.toml | 2 +- test/warning_test.gleam | 3 +- test/workspace_test.gleam | 16 +- 64 files changed, 619 insertions(+), 220 deletions(-) create mode 100644 test/birdie_snapshots/erlang@integration@sarif_log_includes_info.accepted delete mode 100644 test/birdie_snapshots/erlang@spin_up_test@ignore_indirect.accepted create mode 100644 test/birdie_snapshots/javascript@integration@sarif_log_includes_info.accepted delete mode 100644 test/birdie_snapshots/javascript@spin_up_test@ignore_indirect.accepted create mode 100644 test/integration_test.gleam diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index af03287..5ac742c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,6 +42,9 @@ jobs: gleam-version: ${{ env.gleam }} rebar3-version: ${{ env.rebar }} - run: gleam test --target erlang + - run: gleam build --target erlang + - run: gleam run -m go_over -- --format sarif --local > go-over.sarif + - run: python3 -c "import json; d=json.load(open('go-over.sarif')); assert d['version']=='2.1.0' and d['runs']" - run: gleam run --target erlang -- --local --puller wget - run: gleam run --target erlang -- --local diff --git a/README.md b/README.md index 669d363..8b9599d 100644 --- a/README.md +++ b/README.md @@ -56,12 +56,14 @@ gleam run -m go_over - `--force`: Force pulling new data even if the cached data is still valid - `--outdated`: **[deprecated]** runs `gleam deps outdated` instead — use that command directly -- `--ignore-indirect`: Ignore all warnings for indirect dependencies - `--verbose`: Print progress as packages are checked - `--root PATH`: Audit a single Gleam project at `PATH` (uses `PATH/gleam.toml` and `PATH/manifest.toml`) - `--workspace [PATH]`: Audit every Gleam project under `PATH` (default: `.`). - Finds directories containing both `gleam.toml` and `manifest.toml`. + Finds directories containing both `gleam.toml` and `manifest.toml`. Each + project's own `[go-over]` settings apply during its audit. Set + `workspace_max_depth` in the scan root's `gleam.toml` to control discovery + depth (default: `3`). - `--local`: Cache data in the project's `.go-over/` directory - `--global`: Cache data in the user's home directory (shared across projects) - `--help,-h`: Print help @@ -74,9 +76,12 @@ Optional settings that can be added to your project's `gleam.toml` ```toml [go-over] -# disables caching if false -# default: true -cache = true +# force pulling new data even if cached data is still valid +# default: false +force = false +# maximum directory depth when scanning with --workspace (set on the scan root) +# default: 3 +workspace_max_depth = 3 # if true all cached data will be stored in user's home directory # allowing cache to be shared between projects # default: true @@ -148,14 +153,23 @@ Use `--format sarif` to emit a log suitable for GitHub's code scanning upload action: ```yaml +- run: gleam build - run: gleam run -m go_over -- --format sarif > go-over.sarif - uses: github/codeql-action/upload-sarif@v3 with: sarif_file: go-over.sarif ``` +SARIF is written to stdout. Run `gleam build` first so compile output does not +mix into the file. Info-level notices (unnecessary ignores, skipped workspace +projects, git dependencies) are included as SARIF `note` results. + +You can validate SARIF output against GitHub ingestion rules at +https://sarifweb.azurewebsites.net/Validation. + In workspace mode (`--workspace`), each Gleam project appears as a separate run -in the SARIF document. +in the SARIF document. All projects must use the same output `format` (or pass +`--format` on the CLI). # Other Art diff --git a/gleam.toml b/gleam.toml index f7847cc..81c6d6e 100644 --- a/gleam.toml +++ b/gleam.toml @@ -1,5 +1,5 @@ name = "go_over" -version = "3.3.0" +version = "4.0.0" licences = ["MIT"] repository = { type = "github", user = "bwireman", repo = "go-over" } description = "A tool to audit Erlang & Elixir dependencies, to make sure your Gleam ✨ projects really sparkle!" @@ -56,7 +56,7 @@ actions = [ ] [go-over] -cache = true +force = false global = true format = "minimal" outdated = false diff --git a/src/go_over.gleam b/src/go_over.gleam index f4bc421..517e97f 100644 --- a/src/go_over.gleam +++ b/src/go_over.gleam @@ -8,7 +8,6 @@ import gleam/result import gleam/string import go_over/advisories/advisories import go_over/config.{type Config, type Flags} -import go_over/hex/hex import go_over/packages import go_over/sarif import go_over/sources @@ -61,12 +60,7 @@ fn print_warnings_list( |> string.join("") |> io.print_error() - config.JSON -> - vulns - |> list.map(warning.format_as_json) - |> json.preprocessed_array() - |> json.to_string() - |> io.print_error() + config.JSON -> Nil config.SARIF -> Nil @@ -110,12 +104,7 @@ fn print_info_list( |> string.join("") |> io.print_error() - config.JSON -> - vulns - |> list.map(warning.format_as_json) - |> json.preprocessed_array() - |> json.to_string() - |> io.print_error() + config.JSON -> Nil config.SARIF -> Nil @@ -128,15 +117,45 @@ fn print_info_list( } } +pub fn warnings_for_json(result: AuditResult) -> List(Warning) { + list.append(result.info_warnings, result.fatal_warnings) +} + +pub fn warnings_for_json_results(results: List(AuditResult)) -> List(Warning) { + list.flat_map(results, warnings_for_json) +} + +pub fn print_json_warnings(warnings: List(Warning)) -> Nil { + warnings + |> list.map(warning.format_as_json) + |> json.preprocessed_array() + |> json.to_string() + |> io.print_error() +} + fn print_sarif(results: List(AuditResult)) -> Nil { let runs = list.map(results, fn(result) { - #(result.project_root, result.fatal_warnings) + #( + result.project_root, + list.append(result.info_warnings, result.fatal_warnings), + ) }) sarif.to_sarif_log(runs) |> json.to_string() - |> io.print_error() + |> io.println() +} + +pub fn skipped_workspace_warnings(skipped: List(String)) -> List(Warning) { + list.map(skipped, fn(path) { + warning.info_to_warning( + path, + "Info: project at '" + <> path + <> "' was skipped (exceeds workspace_max_depth)", + ) + }) } pub fn print_info( @@ -175,7 +194,12 @@ pub fn audit_project( globals.set_use_global_cache(conf.global) globals.set_force(conf.force) - let spinner = spinner.new_spinner("Let's do this!") + let machine_output = conf.format == config.SARIF || conf.format == config.JSON + let spinner = case machine_output { + True -> option.None + False -> spinner.new_spinner("Let's do this!") + } + gfunction.ignore_result( conf.force, gfunction.freeze1(simplifile.delete, globals.go_over_path()), @@ -205,26 +229,17 @@ pub fn audit_project( ) let retired_warnings = sources.get_retired_warnings(hex_pkgs, conf) - let hex_warnings = - gfunction.iff( - !list.is_empty(conf.allowed_licenses), - fn() { - spinner.set_text_spinner( - spinner, - "Checking packages: " <> print.raw("licenses", "brightmagenta"), - ) - - sources.get_hex_warnings(hex_pkgs, conf) - }, - [], - ) + let #(hex_warnings, dependency_licenses) = case conf.allowed_licenses { + [] -> #([], []) + _ -> { + spinner.set_text_spinner( + spinner, + "Checking packages: " <> print.raw("licenses", "brightmagenta"), + ) - let dependency_licenses = - gfunction.iff( - !list.is_empty(conf.allowed_licenses), - fn() { list.flat_map(hex_pkgs, hex.package_licenses(conf.puller, _)) }, - [], - ) + sources.get_hex_warnings(hex_pkgs, conf) + } + } spinner.set_text_spinner(spinner, "Filtering warnings") let audit_warnings = @@ -274,14 +289,26 @@ pub fn main() { } } +fn scan_root_config(scan_root: String) -> config.Config { + let gleam_toml = filepath.join(scan_root, "gleam.toml") + + case simplifile.read(gleam_toml) { + Ok(_) -> config.read_config(gleam_toml) + Error(_) -> config.default_config() + } +} + fn run(flags: config.Flags) -> Nil { let workspace_mode = option.is_some(flags.workspace_root) - let results = case flags.workspace_root { - option.Some(scan_root) -> - case workspace.discover_or_error(scan_root) { - Ok(project_roots) -> - list.map(project_roots, fn(project_root) { + let #(results, workspace_skipped) = case flags.workspace_root { + option.Some(scan_root) -> { + let scan_config = scan_root_config(scan_root) + let max_depth = scan_config.workspace_max_depth + + case workspace.discover_or_error(scan_root, max_depth) { + Ok(workspace.DiscoverResult(projects, skipped)) -> #( + list.map(projects, fn(project_root) { case audit_project(flags, project_root) { Ok(result) -> result Error(e) -> { @@ -290,20 +317,57 @@ fn run(flags: config.Flags) -> Nil { util.do_panic() } } - }) + }), + skipped, + ) Error(e) -> { io.println_error(e) shellout.exit(1) util.do_panic() } } + } option.None -> { let project_root = option.unwrap(flags.single_root, ".") let assert Ok(result) = audit_project(flags, project_root) - [result] + #([result], []) + } + } + + let skipped_warnings = skipped_workspace_warnings(workspace_skipped) + let results = case skipped_warnings { + [] -> results + _ -> { + case results { + [first, ..rest] -> [ + AuditResult( + ..first, + info_warnings: list.append(skipped_warnings, first.info_warnings), + ), + ..rest + ] + [] -> results + } } } + case workspace_mode { + True -> + case + config.validate_workspace_formats( + list.map(results, fn(r) { #(r.format, r.project_root) }), + ) + { + Error(e) -> { + io.println_error(e) + shellout.exit(1) + util.do_panic() + } + Ok(Nil) -> Nil + } + False -> Nil + } + let prefix_for = fn(result: AuditResult) { case workspace_mode { True -> option.Some(result.project_root) @@ -315,38 +379,71 @@ fn run(flags: config.Flags) -> Nil { config.Config(..config.default_config(), format: result.format) } - let sarif_output = list.any(results, fn(r) { r.format == config.SARIF }) + let output_format = case results { + [] -> config.Minimal + [first, ..] -> first.format + } + + let sarif_output = output_format == config.SARIF + let json_output = output_format == config.JSON - case sarif_output { - False -> + case sarif_output, json_output { + False, False -> list.each(results, fn(result) { case result.info_warnings { [] -> Nil info -> print_info(info, display_conf(result), prefix_for(result)) } }) - True -> Nil + False, True -> print_json_warnings(warnings_for_json_results(results)) + True, _ -> Nil } let any_fatal = list.any(results, fn(r) { !list.is_empty(r.fatal_warnings) }) let any_outdated_failed = list.any(results, fn(r) { r.outdated_failed }) + let info_count = + list.flat_map(results, fn(r) { r.info_warnings }) |> list.length - case any_fatal, any_outdated_failed, sarif_output { - False, False, True -> { + case any_fatal, any_outdated_failed, sarif_output, json_output { + False, False, True, _ -> { print_sarif(results) Nil } - False, False, False -> print.success("✅ No warnings found!") - False, True, True -> { + False, False, False, True -> { + case info_count { + 0 -> print.success("✅ No warnings found!") + _ -> + print.success( + "✅ No security issues found (" + <> int.to_string(info_count) + <> " item(s) of note)", + ) + } + Nil + } + False, False, False, False -> { + case info_count { + 0 -> print.success("✅ No warnings found!") + _ -> + print.success( + "✅ No security issues found (" + <> int.to_string(info_count) + <> " item(s) of note)", + ) + } + Nil + } + False, True, True, _ -> { print_sarif(results) shellout.exit(1) } - False, True, False -> shellout.exit(1) - True, _, True -> { + False, True, False, _ -> shellout.exit(1) + True, _, True, _ -> { print_sarif(results) shellout.exit(1) } - True, _, False -> { + True, _, False, True -> shellout.exit(1) + True, _, False, False -> { list.each(results, fn(result) { case result.fatal_warnings { [] -> Nil diff --git a/src/go_over/config.gleam b/src/go_over/config.gleam index 7c4ebc2..c82ae21 100644 --- a/src/go_over/config.gleam +++ b/src/go_over/config.gleam @@ -42,6 +42,7 @@ pub type Config { ignore_severity: List(String), ignore_ids: List(String), ignore_dev_dependencies: Bool, + workspace_max_depth: Int, single_root: Option(String), workspace_root: Option(String), ) @@ -51,7 +52,6 @@ pub type Flags { Flags( force: Bool, outdated: Bool, - ignore_indirect: Bool, global: Bool, local: Bool, verbose: Bool, @@ -77,6 +77,7 @@ pub fn default_config() -> Config { ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + workspace_max_depth: 3, single_root: option.None, workspace_root: option.None, ) @@ -106,9 +107,12 @@ pub fn read_config(path: String) -> Config { tom.get_table(gleam, ["go-over"]) |> result.unwrap(dict.new()) - let cache = - tom.get_bool(go_over, ["cache"]) - |> result.unwrap(True) + let force = + tom.get_bool(go_over, ["force"]) + |> result.unwrap(False) + let workspace_max_depth = + tom.get_int(go_over, ["workspace_max_depth"]) + |> result.unwrap(3) let outdated = tom.get_bool(go_over, ["outdated"]) |> result.unwrap(False) @@ -162,8 +166,7 @@ pub fn read_config(path: String) -> Config { dev_deps:, outdated:, ignore_indirect:, - force: !cache, - //read from flags only + force:, verbose: False, global:, puller:, @@ -173,6 +176,7 @@ pub fn read_config(path: String) -> Config { ignore_severity:, ignore_ids:, ignore_dev_dependencies:, + workspace_max_depth:, single_root: option.None, workspace_root: option.None, ) @@ -500,7 +504,7 @@ pub fn merge_flags_and_config( dev_deps: cfg.dev_deps, force: flags.force || cfg.force, outdated: flags.outdated || cfg.outdated, - ignore_indirect: cfg.ignore_indirect || flags.ignore_indirect, + ignore_indirect: cfg.ignore_indirect, verbose: flags.verbose, allowed_licenses: cfg.allowed_licenses, puller: option.unwrap(flags.puller, cfg.puller), @@ -510,11 +514,29 @@ pub fn merge_flags_and_config( ignore_severity: cfg.ignore_severity, ignore_ids: cfg.ignore_ids, ignore_dev_dependencies: cfg.ignore_dev_dependencies, + workspace_max_depth: cfg.workspace_max_depth, single_root: flags.single_root, workspace_root: flags.workspace_root, )) } +pub fn validate_workspace_formats( + results: List(#(Format, String)), +) -> Result(Nil, String) { + case results { + [] -> Ok(Nil) + [#(first, _), ..rest] -> { + case list.any(rest, fn(r) { r.0 != first }) { + True -> + Error( + "workspace projects have mismatched output formats; set format consistently or use --format", + ) + False -> Ok(Nil) + } + } + } +} + fn take_named_opts( argv: List(String), ) -> #( @@ -553,7 +575,6 @@ fn clip_command() { clip.command({ use force <- clip.parameter use outdated <- clip.parameter - use ignore_indirect <- clip.parameter use global <- clip.parameter use local <- clip.parameter use verbose <- clip.parameter @@ -561,7 +582,6 @@ fn clip_command() { Flags( force:, outdated:, - ignore_indirect:, verbose:, format: option.None, global:, @@ -579,10 +599,6 @@ fn clip_command() { flag.new("outdated"), "[deprecated] Use `gleam deps outdated` to check for newer dependency versions", )) - |> clip.flag(flag.help( - flag.new("ignore-indirect"), - "Ignore all warnings for indirect dependencies", - )) |> clip.flag(flag.help( flag.new("global"), "Cache data globally in user's home directory for use by multiple projects", diff --git a/src/go_over/hex/hex.gleam b/src/go_over/hex/hex.gleam index 7876f0b..5f57f59 100644 --- a/src/go_over/hex/hex.gleam +++ b/src/go_over/hex/hex.gleam @@ -71,12 +71,19 @@ pub fn package_licenses(puller: puller.Puller, pkg: Package) -> List(String) { fetch_licenses(puller, pkg) } +pub fn rejected_license_sources( + licenses: List(String), + allowed_licenses: List(String), +) -> List(HexWarningSource) { + glist.reject_contains(licenses, allowed_licenses) + |> list.map(RejectedLicense) +} + pub fn get_hex_info( puller: puller.Puller, pkg: Package, allowed_licenses: List(String), -) { +) -> List(HexWarningSource) { package_licenses(puller, pkg) - |> glist.reject_contains(allowed_licenses) - |> list.map(RejectedLicense) + |> rejected_license_sources(allowed_licenses) } diff --git a/src/go_over/sarif.gleam b/src/go_over/sarif.gleam index 7142760..ee5b1f1 100644 --- a/src/go_over/sarif.gleam +++ b/src/go_over/sarif.gleam @@ -10,7 +10,7 @@ import go_over/warning.{ SeverityPackageRetiredRenamed, SeverityPackageRetiredSecurity, SeverityRejectedLicense, SeverityUnknown, WarningReasonInfo, WarningReasonRejectedLicense, WarningReasonRetired, WarningReasonVulnerable, - is_info, severity_as_string, + severity_as_string, } const schema = "https://json.schemastore.org/sarif-2.1.0.json" @@ -32,7 +32,6 @@ pub fn to_sarif_log(runs: List(#(String, List(Warning)))) -> Json { } pub fn to_sarif_run(project_root: String, warnings: List(Warning)) -> Json { - let warnings = list.filter(warnings, fn(w) { !is_info(w) }) let rules = build_rules(warnings) let results = list.map(warnings, fn(w) { to_result(w, project_root) }) diff --git a/src/go_over/sources.gleam b/src/go_over/sources.gleam index edb013b..3dea552 100644 --- a/src/go_over/sources.gleam +++ b/src/go_over/sources.gleam @@ -34,16 +34,24 @@ pub fn get_retired_warnings( |> list.map(tuple.apply_from2(_, warning.retired_to_warning)) } -pub fn get_hex_warnings(pkgs: List(Package), conf: Config) -> List(Warning) { +pub fn get_hex_warnings( + pkgs: List(Package), + conf: Config, +) -> #(List(Warning), List(String)) { let allowed_licenses = conf.allowed_licenses - list.flat_map(pkgs, fn(pkg) { - hex.get_hex_info(conf.puller, pkg, allowed_licenses) - |> list.map(fn(source) { - case source { - hex.RejectedLicense(name) -> - warning.rejected_license_to_warning(pkg, name) - } - }) + list.fold(pkgs, #([], []), fn(acc, pkg) { + let #(warnings, licenses) = acc + let pkg_licenses = hex.package_licenses(conf.puller, pkg) + let pkg_warnings = + hex.rejected_license_sources(pkg_licenses, allowed_licenses) + |> list.map(fn(source) { + case source { + hex.RejectedLicense(name) -> + warning.rejected_license_to_warning(pkg, name) + } + }) + + #(list.append(warnings, pkg_warnings), list.append(licenses, pkg_licenses)) }) } diff --git a/src/go_over/util/constants.gleam b/src/go_over/util/constants.gleam index b78fe11..ae52571 100644 --- a/src/go_over/util/constants.gleam +++ b/src/go_over/util/constants.gleam @@ -2,7 +2,7 @@ pub const hour = 3600 pub const six_hours = 21_600 -pub const version = "3.4.0" +pub const version = "4.0.0" pub const advisories_repo = "mirego/elixir-security-advisories" diff --git a/src/go_over/util/print.gleam b/src/go_over/util/print.gleam index b0929c8..c6af8d4 100644 --- a/src/go_over/util/print.gleam +++ b/src/go_over/util/print.gleam @@ -34,6 +34,10 @@ pub fn format_low(msg: String) { shellout.style(msg <> "\n", with: shellout.color(["cyan"]), custom: []) } +pub fn format_info(msg: String) { + shellout.style(msg <> "\n", with: shellout.color(["brightgreen"]), custom: []) +} + pub fn warning(msg: String) { msg |> format_warning() diff --git a/src/go_over/warning.gleam b/src/go_over/warning.gleam index c658d1c..fc513a1 100644 --- a/src/go_over/warning.gleam +++ b/src/go_over/warning.gleam @@ -243,9 +243,10 @@ fn color(w: Warning, str: String) { SeverityModerate | SeverityPackageRetiredRenamed | SeverityPackageRetiredDeprecated -> print.format_moderate(str) - SeverityLow | SeverityPackageRetiredInvalid -> print.format_low(str) - SeverityInfo -> print.format_high(str) - SeverityUnknown(_) | SeverityPackageRetiredOtherReason(_) -> - print.format_warning(str) + SeverityLow + | SeverityPackageRetiredInvalid + | SeverityPackageRetiredOtherReason(_) -> print.format_low(str) + SeverityInfo -> print.format_info(str) + SeverityUnknown(_) -> print.format_warning(str) } } diff --git a/src/go_over/workspace.gleam b/src/go_over/workspace.gleam index ed40ff9..3d3017b 100644 --- a/src/go_over/workspace.gleam +++ b/src/go_over/workspace.gleam @@ -6,7 +6,9 @@ import simplifile const skip_dirs = ["build", "deps", "node_modules", ".go-over", ".git"] -const max_depth = 3 +pub type DiscoverResult { + DiscoverResult(projects: List(String), skipped: List(String)) +} fn is_project_dir(dir: String) -> Bool { let gleam_toml = filepath.join(dir, "gleam.toml") @@ -22,40 +24,95 @@ fn should_skip(name: String) -> Bool { string.starts_with(name, ".") || list.contains(skip_dirs, name) } -fn do_discover(dir: String, depth: Int) -> List(String) { +fn find_projects_unlimited(dir: String) -> List(String) { case is_project_dir(dir) { True -> [dir] + False -> + case simplifile.read_directory(dir) { + Ok(names) -> + names + |> list.filter(fn(name) { !should_skip(name) }) + |> list.flat_map(fn(name) { + find_projects_unlimited(filepath.join(dir, name)) + }) + Error(_) -> [] + } + } +} + +fn has_project_descendant(dir: String) -> Bool { + !list.is_empty(find_projects_unlimited(dir)) +} + +fn do_discover( + dir: String, + depth: Int, + max_depth: Int, + skipped: List(String), +) -> #(List(String), List(String)) { + case is_project_dir(dir) { + True -> #([dir], skipped) False -> case depth >= max_depth { - True -> [] + True -> { + let skipped = case has_project_descendant(dir) { + True -> list.append(skipped, find_projects_unlimited(dir)) + False -> skipped + } + #([], skipped) + } False -> case simplifile.read_directory(dir) { Ok(names) -> names |> list.filter(fn(name) { !should_skip(name) }) - |> list.flat_map(fn(name) { - do_discover(filepath.join(dir, name), depth + 1) + |> list.fold(#([], skipped), fn(acc, name) { + let #(projects, skipped) = acc + let child = filepath.join(dir, name) + let #(child_projects, child_skipped) = + do_discover(child, depth + 1, max_depth, []) + #( + list.append(projects, child_projects), + list.append(skipped, child_skipped), + ) }) - Error(_) -> [] + Error(_) -> #([], skipped) } } } } -pub fn discover(scan_root: String) -> List(String) { - do_discover(scan_root, 0) - |> list.sort(fn(a, b) { - case string.compare(a, b) { - order.Eq -> order.Eq - order.Lt -> order.Lt - order.Gt -> order.Gt - } - }) +pub fn discover(scan_root: String, max_depth: Int) -> DiscoverResult { + let #(projects, skipped) = do_discover(scan_root, 0, max_depth, []) + + DiscoverResult( + projects: projects + |> list.sort(fn(a, b) { + case string.compare(a, b) { + order.Eq -> order.Eq + order.Lt -> order.Lt + order.Gt -> order.Gt + } + }), + skipped: skipped + |> list.unique() + |> list.sort(fn(a, b) { + case string.compare(a, b) { + order.Eq -> order.Eq + order.Lt -> order.Lt + order.Gt -> order.Gt + } + }), + ) } -pub fn discover_or_error(scan_root: String) -> Result(List(String), String) { - case discover(scan_root) { - [] -> Error("no gleam projects found under " <> scan_root) - projects -> Ok(projects) +pub fn discover_or_error( + scan_root: String, + max_depth: Int, +) -> Result(DiscoverResult, String) { + case discover(scan_root, max_depth) { + DiscoverResult([], _) -> + Error("no gleam projects found under " <> scan_root) + result -> Ok(result) } } diff --git a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_basic_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_basic_toml.accepted index 7543bc0..be98e34 100644 --- a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_basic_toml.accepted +++ b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_basic_toml.accepted @@ -16,6 +16,7 @@ Config( ["b"], ["c"], False, + 3, None, None, ) diff --git a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_empty_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_empty_toml.accepted index dccc72b..1e0c614 100644 --- a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_empty_toml.accepted +++ b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_empty_toml.accepted @@ -16,6 +16,7 @@ Config( [], [], False, + 3, None, None, ) diff --git a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_full_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_full_toml.accepted index 0e4d894..df3a7f8 100644 --- a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_full_toml.accepted +++ b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_full_toml.accepted @@ -16,6 +16,7 @@ Config( ["critical", "high"], ["a", "b"], True, + 3, None, None, ) diff --git a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_indirect_new_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_indirect_new_toml.accepted index 5d93d1a..6970c50 100644 --- a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_indirect_new_toml.accepted +++ b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_indirect_new_toml.accepted @@ -16,6 +16,7 @@ Config( [], [], False, + 3, None, None, ) diff --git a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_partial_toml.accepted b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_partial_toml.accepted index d9e611b..093d969 100644 --- a/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_partial_toml.accepted +++ b/test/birdie_snapshots/erlang@conf_test@test_testdata_gleam_partial_toml.accepted @@ -16,6 +16,7 @@ Config( [], [], False, + 3, None, None, ) diff --git a/test/birdie_snapshots/erlang@integration@sarif_log_includes_info.accepted b/test/birdie_snapshots/erlang@integration@sarif_log_includes_info.accepted new file mode 100644 index 0000000..41640d2 --- /dev/null +++ b/test/birdie_snapshots/erlang@integration@sarif_log_includes_info.accepted @@ -0,0 +1,5 @@ +--- +version: 2.0.0 +title: Erlang@integration@sarif_log_includes_info +--- +"{"$schema":"https://json.schemastore.org/sarif-2.1.0.json","version":"2.1.0","runs":[{"tool":{"driver":{"name":"go_over","version":"4.0.0","rules":[{"id":"go-over/info:info","shortDescription":{"text":"go-over/info:info"}},{"id":"GHSA-test","shortDescription":{"text":"GHSA-test"}}]}},"results":[{"ruleId":"go-over/info:info","level":"note","message":{"text":"missing-package: Info: package 'missing-package' is not a dependency"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"backend/manifest.toml"},"region":{"startLine":1,"startColumn":1}}}]},{"ruleId":"GHSA-test","level":"error","message":{"text":"pkg@1.0.0: example"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"backend/manifest.toml"},"region":{"startLine":1,"startColumn":1}}}]}]}]}" diff --git a/test/birdie_snapshots/erlang@spin_up_test@empty.accepted b/test/birdie_snapshots/erlang@spin_up_test@empty.accepted index 7f597e6..5f8e971 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@empty.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@empty.accepted @@ -18,6 +18,7 @@ title: Erlang@spin_up_test@empty [], [], False, + 3, None, None, ), diff --git a/test/birdie_snapshots/erlang@spin_up_test@force.accepted b/test/birdie_snapshots/erlang@spin_up_test@force.accepted index 11a6725..73ad354 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@force.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@force.accepted @@ -18,6 +18,7 @@ title: Erlang@spin_up_test@force [], [], False, + 3, None, None, ), diff --git a/test/birdie_snapshots/erlang@spin_up_test@format=detailed.accepted b/test/birdie_snapshots/erlang@spin_up_test@format=detailed.accepted index 7670e90..b18f01d 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@format=detailed.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@format=detailed.accepted @@ -18,6 +18,7 @@ title: Erlang@spin_up_test@format=detailed [], [], False, + 3, None, None, ), diff --git a/test/birdie_snapshots/erlang@spin_up_test@format=json.accepted b/test/birdie_snapshots/erlang@spin_up_test@format=json.accepted index 7d95614..5cc24a1 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@format=json.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@format=json.accepted @@ -18,6 +18,7 @@ title: Erlang@spin_up_test@format=json [], [], False, + 3, None, None, ), diff --git a/test/birdie_snapshots/erlang@spin_up_test@format=minimal.accepted b/test/birdie_snapshots/erlang@spin_up_test@format=minimal.accepted index ab31724..e6d6015 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@format=minimal.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@format=minimal.accepted @@ -18,6 +18,7 @@ title: Erlang@spin_up_test@format=minimal [], [], False, + 3, None, None, ), diff --git a/test/birdie_snapshots/erlang@spin_up_test@ignore_indirect.accepted b/test/birdie_snapshots/erlang@spin_up_test@ignore_indirect.accepted deleted file mode 100644 index fd7ddfe..0000000 --- a/test/birdie_snapshots/erlang@spin_up_test@ignore_indirect.accepted +++ /dev/null @@ -1,24 +0,0 @@ ---- -version: 2.0.0 -title: Erlang@spin_up_test@ignore_indirect ---- -#( - ["--ignore-indirect"], - Config( - [], - False, - True, - False, - Minimal, - False, - True, - Native, - [], - [], - [], - [], - False, - None, - None, - ), -) diff --git a/test/birdie_snapshots/erlang@spin_up_test@verbose.accepted b/test/birdie_snapshots/erlang@spin_up_test@verbose.accepted index 71c994f..687afa5 100644 --- a/test/birdie_snapshots/erlang@spin_up_test@verbose.accepted +++ b/test/birdie_snapshots/erlang@spin_up_test@verbose.accepted @@ -18,6 +18,7 @@ title: Erlang@spin_up_test@verbose [], [], False, + 3, None, None, ), diff --git a/test/birdie_snapshots/erlang@warning_format_as_sarif@adv_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_sarif@adv_to_warning.accepted index 2917f9f..c25d2aa 100644 --- a/test/birdie_snapshots/erlang@warning_format_as_sarif@adv_to_warning.accepted +++ b/test/birdie_snapshots/erlang@warning_format_as_sarif@adv_to_warning.accepted @@ -19,7 +19,7 @@ title: Erlang@warning_format_as_sarif@adv_to_warning "driver": { "name": "go_over", -"version": "3.4.0", +"version": "4.0.0", "rules": [ diff --git a/test/birdie_snapshots/erlang@warning_format_as_sarif@info_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_sarif@info_to_warning.accepted index 30bc920..03c95e1 100644 --- a/test/birdie_snapshots/erlang@warning_format_as_sarif@info_to_warning.accepted +++ b/test/birdie_snapshots/erlang@warning_format_as_sarif@info_to_warning.accepted @@ -19,10 +19,19 @@ title: Erlang@warning_format_as_sarif@info_to_warning "driver": { "name": "go_over", -"version": "3.4.0", +"version": "4.0.0", "rules": [ +{ +"id": "go-over/info:info", +"shortDescription": +{ +"text": "go-over/info:info" +} + +} + ] } @@ -32,6 +41,39 @@ title: Erlang@warning_format_as_sarif@info_to_warning "results": [ +{ +"ruleId": "go-over/info:info", +"level": "note", +"message": +{ +"text": "missing-package: Info: package 'missing-package' is not a dependency" +} +, +"locations": +[ + +{ +"physicalLocation": +{ +"artifactLocation": +{ +"uri": "backend/manifest.toml" +} +, +"region": +{ +"startLine": 1, +"startColumn": 1 +} + +} + +} + +] + +} + ] } diff --git a/test/birdie_snapshots/erlang@warning_format_as_string@git_deps_to_warnings.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@git_deps_to_warnings.accepted index 3160f06..08bcbc9 100644 --- a/test/birdie_snapshots/erlang@warning_format_as_string@git_deps_to_warnings.accepted +++ b/test/birdie_snapshots/erlang@warning_format_as_string@git_deps_to_warnings.accepted @@ -4,7 +4,7 @@ title: Erlang@warning_format_as_string@git_deps_to_warnings --- #( "c", - "ID: null + "ID: null Package: git-dependencies Version: null WarningReason: Info diff --git a/test/birdie_snapshots/erlang@warning_format_as_string@info_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@info_to_warning.accepted index fe6d2af..f35fa20 100644 --- a/test/birdie_snapshots/erlang@warning_format_as_string@info_to_warning.accepted +++ b/test/birdie_snapshots/erlang@warning_format_as_string@info_to_warning.accepted @@ -4,7 +4,7 @@ title: Erlang@warning_format_as_string@info_to_warning --- #( "missing-package", - "ID: null + "ID: null Package: missing-package Version: null WarningReason: Info diff --git a/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other.accepted index 3d66d4c..5567f1e 100644 --- a/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other.accepted +++ b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@warning_format_as_string@retired_to_warning_other --- #( @@ -16,7 +16,7 @@ title: Erlang@warning_format_as_string@retired_to_warning_other Some("It's an example man"), ), ), - "ID: null + "ID: null Package: package for warning tests Version: pre1.2.3-build WarningReason: Retired @@ -24,4 +24,4 @@ Dependency Type: Direct Severity: package-retired:it's an example man Reason: other: It's an example man ", -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other_none.accepted index 2f467d3..396fc8a 100644 --- a/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other_none.accepted +++ b/test/birdie_snapshots/erlang@warning_format_as_string@retired_to_warning_other_none.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@warning_format_as_string@retired_to_warning_other_none --- #( @@ -13,7 +13,7 @@ title: Erlang@warning_format_as_string@retired_to_warning_other_none ), ReleaseRetirement(OtherReason, None), ), - "ID: null + "ID: null Package: package for warning tests Version: pre1.2.3-build WarningReason: Retired @@ -21,4 +21,4 @@ Dependency Type: Direct Severity: package-retired:unknown Reason: other ", -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@git_deps_to_warnings.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@git_deps_to_warnings.accepted index e2dd794..6bfc302 100644 --- a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@git_deps_to_warnings.accepted +++ b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@git_deps_to_warnings.accepted @@ -4,6 +4,6 @@ title: Erlang@warning_format_as_string_minimal@git_deps_to_warnings --- #( "c", - "git-dependencies: info + "git-dependencies: info ", ) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@info_to_warning.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@info_to_warning.accepted index 9b1910d..15256dc 100644 --- a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@info_to_warning.accepted +++ b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@info_to_warning.accepted @@ -4,6 +4,6 @@ title: Erlang@warning_format_as_string_minimal@info_to_warning --- #( "missing-package", - "missing-package: info + "missing-package: info ", ) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other.accepted index 4c42ca3..6202820 100644 --- a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other.accepted +++ b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@warning_format_as_string_minimal@retired_to_warning_other --- #( @@ -16,6 +16,6 @@ title: Erlang@warning_format_as_string_minimal@retired_to_warning_other Some("It's an example man"), ), ), - "package for warning tests-pre1.2.3-build: package-retired:it's an example man + "package for warning tests-pre1.2.3-build: package-retired:it's an example man ", -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other_none.accepted b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other_none.accepted index 448fd7b..28b7d1a 100644 --- a/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other_none.accepted +++ b/test/birdie_snapshots/erlang@warning_format_as_string_minimal@retired_to_warning_other_none.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Erlang@warning_format_as_string_minimal@retired_to_warning_other_none --- #( @@ -13,6 +13,6 @@ title: Erlang@warning_format_as_string_minimal@retired_to_warning_other_none ), ReleaseRetirement(OtherReason, None), ), - "package for warning tests-pre1.2.3-build: package-retired:unknown + "package for warning tests-pre1.2.3-build: package-retired:unknown ", -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_basic_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_basic_toml.accepted index 33f60ab..8173b3b 100644 --- a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_basic_toml.accepted +++ b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_basic_toml.accepted @@ -16,6 +16,7 @@ Config( ignore_severity: ["b"], ignore_ids: ["c"], ignore_dev_dependencies: False, + workspace_max_depth: 3, single_root: None, workspace_root: None, ) diff --git a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_empty_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_empty_toml.accepted index 812ff1e..4c7ae89 100644 --- a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_empty_toml.accepted +++ b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_empty_toml.accepted @@ -16,6 +16,7 @@ Config( ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + workspace_max_depth: 3, single_root: None, workspace_root: None, ) diff --git a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_full_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_full_toml.accepted index 6ec83f4..b4a09bb 100644 --- a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_full_toml.accepted +++ b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_full_toml.accepted @@ -16,6 +16,7 @@ Config( ignore_severity: ["critical", "high"], ignore_ids: ["a", "b"], ignore_dev_dependencies: True, + workspace_max_depth: 3, single_root: None, workspace_root: None, ) diff --git a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_indirect_new_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_indirect_new_toml.accepted index 0379dfe..02dec0e 100644 --- a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_indirect_new_toml.accepted +++ b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_indirect_new_toml.accepted @@ -16,6 +16,7 @@ Config( ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + workspace_max_depth: 3, single_root: None, workspace_root: None, ) diff --git a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_partial_toml.accepted b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_partial_toml.accepted index 4dd3415..708baf6 100644 --- a/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_partial_toml.accepted +++ b/test/birdie_snapshots/javascript@conf_test@test_testdata_gleam_partial_toml.accepted @@ -16,6 +16,7 @@ Config( ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + workspace_max_depth: 3, single_root: None, workspace_root: None, ) diff --git a/test/birdie_snapshots/javascript@integration@sarif_log_includes_info.accepted b/test/birdie_snapshots/javascript@integration@sarif_log_includes_info.accepted new file mode 100644 index 0000000..79c2a68 --- /dev/null +++ b/test/birdie_snapshots/javascript@integration@sarif_log_includes_info.accepted @@ -0,0 +1,5 @@ +--- +version: 2.0.0 +title: Javascript@integration@sarif_log_includes_info +--- +"{"$schema":"https://json.schemastore.org/sarif-2.1.0.json","version":"2.1.0","runs":[{"tool":{"driver":{"name":"go_over","version":"4.0.0","rules":[{"id":"go-over/info:info","shortDescription":{"text":"go-over/info:info"}},{"id":"GHSA-test","shortDescription":{"text":"GHSA-test"}}]}},"results":[{"ruleId":"go-over/info:info","level":"note","message":{"text":"missing-package: Info: package 'missing-package' is not a dependency"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"backend/manifest.toml"},"region":{"startLine":1,"startColumn":1}}}]},{"ruleId":"GHSA-test","level":"error","message":{"text":"pkg@1.0.0: example"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"backend/manifest.toml"},"region":{"startLine":1,"startColumn":1}}}]}]}]}" diff --git a/test/birdie_snapshots/javascript@spin_up_test@empty.accepted b/test/birdie_snapshots/javascript@spin_up_test@empty.accepted index 54a83c8..ce9b08e 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@empty.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@empty.accepted @@ -18,6 +18,7 @@ title: Javascript@spin_up_test@empty ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + workspace_max_depth: 3, single_root: None, workspace_root: None, ), diff --git a/test/birdie_snapshots/javascript@spin_up_test@force.accepted b/test/birdie_snapshots/javascript@spin_up_test@force.accepted index b70b27f..fa5224d 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@force.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@force.accepted @@ -18,6 +18,7 @@ title: Javascript@spin_up_test@force ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + workspace_max_depth: 3, single_root: None, workspace_root: None, ), diff --git a/test/birdie_snapshots/javascript@spin_up_test@format=detailed.accepted b/test/birdie_snapshots/javascript@spin_up_test@format=detailed.accepted index 3dbc139..78f7c0e 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@format=detailed.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@format=detailed.accepted @@ -18,6 +18,7 @@ title: Javascript@spin_up_test@format=detailed ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + workspace_max_depth: 3, single_root: None, workspace_root: None, ), diff --git a/test/birdie_snapshots/javascript@spin_up_test@format=json.accepted b/test/birdie_snapshots/javascript@spin_up_test@format=json.accepted index af98f67..e001a16 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@format=json.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@format=json.accepted @@ -18,6 +18,7 @@ title: Javascript@spin_up_test@format=json ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + workspace_max_depth: 3, single_root: None, workspace_root: None, ), diff --git a/test/birdie_snapshots/javascript@spin_up_test@format=minimal.accepted b/test/birdie_snapshots/javascript@spin_up_test@format=minimal.accepted index beade0e..6c2044f 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@format=minimal.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@format=minimal.accepted @@ -18,6 +18,7 @@ title: Javascript@spin_up_test@format=minimal ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + workspace_max_depth: 3, single_root: None, workspace_root: None, ), diff --git a/test/birdie_snapshots/javascript@spin_up_test@ignore_indirect.accepted b/test/birdie_snapshots/javascript@spin_up_test@ignore_indirect.accepted deleted file mode 100644 index 60f933b..0000000 --- a/test/birdie_snapshots/javascript@spin_up_test@ignore_indirect.accepted +++ /dev/null @@ -1,24 +0,0 @@ ---- -version: 2.0.0 -title: Javascript@spin_up_test@ignore_indirect ---- -#( - ["--ignore-indirect"], - Config( - dev_deps: [], - outdated: False, - ignore_indirect: True, - force: False, - format: Minimal, - verbose: False, - global: True, - puller: CURL, - allowed_licenses: [], - ignore_packages: [], - ignore_severity: [], - ignore_ids: [], - ignore_dev_dependencies: False, - single_root: None, - workspace_root: None, - ), -) diff --git a/test/birdie_snapshots/javascript@spin_up_test@verbose.accepted b/test/birdie_snapshots/javascript@spin_up_test@verbose.accepted index eafa009..93f1b33 100644 --- a/test/birdie_snapshots/javascript@spin_up_test@verbose.accepted +++ b/test/birdie_snapshots/javascript@spin_up_test@verbose.accepted @@ -18,6 +18,7 @@ title: Javascript@spin_up_test@verbose ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + workspace_max_depth: 3, single_root: None, workspace_root: None, ), diff --git a/test/birdie_snapshots/javascript@warning_format_as_sarif@adv_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_sarif@adv_to_warning.accepted index 64cec13..8ff0bca 100644 --- a/test/birdie_snapshots/javascript@warning_format_as_sarif@adv_to_warning.accepted +++ b/test/birdie_snapshots/javascript@warning_format_as_sarif@adv_to_warning.accepted @@ -16,7 +16,7 @@ title: Javascript@warning_format_as_sarif@adv_to_warning "tool": { "driver": { "name": "go_over", - "version": "3.4.0", + "version": "4.0.0", "rules": [ { "id": "GHSA-test-1234", diff --git a/test/birdie_snapshots/javascript@warning_format_as_sarif@info_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_sarif@info_to_warning.accepted index 93104ad..1abe012 100644 --- a/test/birdie_snapshots/javascript@warning_format_as_sarif@info_to_warning.accepted +++ b/test/birdie_snapshots/javascript@warning_format_as_sarif@info_to_warning.accepted @@ -16,10 +16,38 @@ title: Javascript@warning_format_as_sarif@info_to_warning "tool": { "driver": { "name": "go_over", - "version": "3.4.0", - "rules": [] + "version": "4.0.0", + "rules": [ + { + "id": "go-over/info:info", + "shortDescription": { + "text": "go-over/info:info" + } + } + ] } }, - "results": [] + "results": [ + { + "ruleId": "go-over/info:info", + "level": "note", + "message": { + "text": "missing-package: Info: package 'missing-package' is not a dependency" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "backend/manifest.toml" + }, + "region": { + "startLine": 1, + "startColumn": 1 + } + } + } + ] + } + ] }", ) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string@git_deps_to_warnings.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@git_deps_to_warnings.accepted index cc383c7..a72dcc9 100644 --- a/test/birdie_snapshots/javascript@warning_format_as_string@git_deps_to_warnings.accepted +++ b/test/birdie_snapshots/javascript@warning_format_as_string@git_deps_to_warnings.accepted @@ -4,7 +4,7 @@ title: Javascript@warning_format_as_string@git_deps_to_warnings --- #( "c", - "ID: null + "ID: null Package: git-dependencies Version: null WarningReason: Info diff --git a/test/birdie_snapshots/javascript@warning_format_as_string@info_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@info_to_warning.accepted index c0f9247..bba8ae1 100644 --- a/test/birdie_snapshots/javascript@warning_format_as_string@info_to_warning.accepted +++ b/test/birdie_snapshots/javascript@warning_format_as_string@info_to_warning.accepted @@ -4,7 +4,7 @@ title: Javascript@warning_format_as_string@info_to_warning --- #( "missing-package", - "ID: null + "ID: null Package: missing-package Version: null WarningReason: Info diff --git a/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other.accepted index e205cc7..092b2a6 100644 --- a/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other.accepted +++ b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@warning_format_as_string@retired_to_warning_other --- #( @@ -22,7 +22,7 @@ title: Javascript@warning_format_as_string@retired_to_warning_other message: Some("It's an example man"), ), ), - "ID: null + "ID: null Package: package for warning tests Version: pre1.2.3-build WarningReason: Retired @@ -30,4 +30,4 @@ Dependency Type: Direct Severity: package-retired:it's an example man Reason: other: It's an example man ", -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other_none.accepted index 94cf09b..e8c7ac8 100644 --- a/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other_none.accepted +++ b/test/birdie_snapshots/javascript@warning_format_as_string@retired_to_warning_other_none.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@warning_format_as_string@retired_to_warning_other_none --- #( @@ -22,7 +22,7 @@ title: Javascript@warning_format_as_string@retired_to_warning_other_none message: None, ), ), - "ID: null + "ID: null Package: package for warning tests Version: pre1.2.3-build WarningReason: Retired @@ -30,4 +30,4 @@ Dependency Type: Direct Severity: package-retired:unknown Reason: other ", -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@git_deps_to_warnings.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@git_deps_to_warnings.accepted index 6caf3e5..874b93b 100644 --- a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@git_deps_to_warnings.accepted +++ b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@git_deps_to_warnings.accepted @@ -4,6 +4,6 @@ title: Javascript@warning_format_as_string_minimal@git_deps_to_warnings --- #( "c", - "git-dependencies: info + "git-dependencies: info ", ) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@info_to_warning.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@info_to_warning.accepted index 2868391..a7258ce 100644 --- a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@info_to_warning.accepted +++ b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@info_to_warning.accepted @@ -4,6 +4,6 @@ title: Javascript@warning_format_as_string_minimal@info_to_warning --- #( "missing-package", - "missing-package: info + "missing-package: info ", ) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other.accepted index c12e766..fccdca9 100644 --- a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other.accepted +++ b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@warning_format_as_string_minimal@retired_to_warning_other --- #( @@ -22,6 +22,6 @@ title: Javascript@warning_format_as_string_minimal@retired_to_warning_other message: Some("It's an example man"), ), ), - "package for warning tests-pre1.2.3-build: package-retired:it's an example man + "package for warning tests-pre1.2.3-build: package-retired:it's an example man ", -) \ No newline at end of file +) diff --git a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other_none.accepted b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other_none.accepted index d651cf9..1580b81 100644 --- a/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other_none.accepted +++ b/test/birdie_snapshots/javascript@warning_format_as_string_minimal@retired_to_warning_other_none.accepted @@ -1,5 +1,5 @@ --- -version: 1.3.1 +version: 2.0.0 title: Javascript@warning_format_as_string_minimal@retired_to_warning_other_none --- #( @@ -22,6 +22,6 @@ title: Javascript@warning_format_as_string_minimal@retired_to_warning_other_none message: None, ), ), - "package for warning tests-pre1.2.3-build: package-retired:unknown + "package for warning tests-pre1.2.3-build: package-retired:unknown ", -) \ No newline at end of file +) diff --git a/test/config_test.gleam b/test/config_test.gleam index 0624ba3..fbc5ed4 100644 --- a/test/config_test.gleam +++ b/test/config_test.gleam @@ -191,12 +191,6 @@ pub fn spin_up_test() { let conf = test_spin_up("force", ["--force"]) assert conf.force - let conf = test_spin_up("outdated", [""]) - assert !conf.outdated - - let conf = test_spin_up("ignore_indirect", ["--ignore-indirect"]) - assert conf.ignore_indirect - let conf = test_spin_up("verbose", ["--verbose"]) assert conf.verbose } @@ -215,7 +209,6 @@ pub fn spin_up_format_test() { const empty_flags = config.Flags( force: False, outdated: False, - ignore_indirect: False, verbose: False, format: option.None, global: False, @@ -235,12 +228,6 @@ pub fn merge_flags_and_config_flags_only_test() { ) == Ok(config.Config(..empty_conf(), outdated: True)) - assert config.merge_flags_and_config( - config.Flags(..empty_flags, ignore_indirect: True), - empty_conf(), - ) - == Ok(config.Config(..empty_conf(), ignore_indirect: True)) - assert config.merge_flags_and_config( config.Flags(..empty_flags, force: True), empty_conf(), @@ -358,6 +345,42 @@ pub fn unnecessary_ignore_warnings_test() { ] } +pub fn unnecessary_ignore_ignored_package_with_warning_test() { + let assert Ok(v) = parse("1.1.1") + let a = Package("a", v, "", True, packages.PackageSourceHex) + let conf = config.Config(..empty_conf(), ignore_packages: ["a"]) + + let audit_warning = + Warning( + None, + "a", + None, + "", + warning.WarningReasonVulnerable, + warning.SeverityCritical, + warning.DirectDep, + ) + + assert unnecessary_ignore_warnings(conf, [a], [audit_warning], [], []) == [] +} + +pub fn validate_workspace_formats_test() { + let assert Error(msg) = + config.validate_workspace_formats([ + #(config.Minimal, "a"), + #(config.JSON, "b"), + ]) + + assert msg + == "workspace projects have mismatched output formats; set format consistently or use --format" + + assert config.validate_workspace_formats([ + #(config.Minimal, "a"), + #(config.Minimal, "b"), + ]) + == Ok(Nil) +} + pub fn unnecessary_ignore_license_warnings_test() { let conf = config.Config(..empty_conf(), allowed_licenses: [ diff --git a/test/integration_test.gleam b/test/integration_test.gleam new file mode 100644 index 0000000..6dca1fc --- /dev/null +++ b/test/integration_test.gleam @@ -0,0 +1,101 @@ +import gleam/json +import gleam/list +import gleam/string +import gleamsver +import go_over +import go_over/advisories/advisories +import go_over/config +import go_over/packages +import go_over/sarif +import go_over/warning +import go_over_test + +pub fn skipped_workspace_warnings_test() { + let warnings = + go_over.skipped_workspace_warnings([ + "test/testdata/workspace_depth/too_deep/nested/nested/project", + ]) + + assert list.length(warnings) == 1 + assert warning.is_info( + list.first(warnings) + |> fn(r) { + case r { + Ok(w) -> w + Error(_) -> panic as "expected warning" + } + }, + ) +} + +pub fn warnings_for_json_results_test() { + let info = warning.info_to_warning("x", "Info: example") + + let fatal = warning.info_to_warning("y", "fatal placeholder") + + let results = [ + go_over.AuditResult( + project_root: "a", + fatal_warnings: [fatal], + info_warnings: [info], + outdated_failed: False, + format: config.JSON, + ), + ] + + assert list.length(go_over.warnings_for_json_results(results)) == 2 +} + +pub fn validate_workspace_formats_integration_test() { + let assert Error(_) = + config.validate_workspace_formats([ + #(config.Minimal, "a"), + #(config.JSON, "b"), + ]) + + assert config.validate_workspace_formats([ + #(config.SARIF, "a"), + #(config.SARIF, "b"), + ]) + == Ok(Nil) +} + +pub fn sarif_log_includes_info_test() { + let info = + warning.info_to_warning( + "missing-package", + "Info: package 'missing-package' is not a dependency", + ) + + let fatal = + warning.adv_to_warning( + packages.Package( + "pkg", + gleamsver.SemVer(1, 0, 0, "", ""), + "1.0.0", + True, + packages.PackageSourceHex, + ), + [ + advisories.Advisory("GHSA-test", "pkg", "high", [], "example"), + ], + ) + |> list.first + |> fn(r) { + case r { + Ok(w) -> w + Error(_) -> panic as "expected warning" + } + } + + let sarif_json = + sarif.to_sarif_log([#("backend", [info, fatal])]) + |> json.to_string() + + assert string.contains(sarif_json, "\"level\"") + assert string.contains(sarif_json, "note") + assert string.contains(sarif_json, "error") + assert string.contains(sarif_json, "4.0.0") + + go_over_test.birdie_snap(sarif_json, "integration@sarif_log_includes_info") +} diff --git a/test/sources_test.gleam b/test/sources_test.gleam index 979499f..92715c2 100644 --- a/test/sources_test.gleam +++ b/test/sources_test.gleam @@ -22,6 +22,7 @@ const conf = Config( ignore_severity: [], ignore_ids: [], ignore_dev_dependencies: False, + workspace_max_depth: 3, single_root: option.None, workspace_root: option.None, ) @@ -61,13 +62,16 @@ pub fn get_retired_warnings_test() { } pub fn get_rejected_license_test() { - assert sources.get_hex_warnings( + let #(warnings, _licenses) = + sources.get_hex_warnings( pkgs, Config( ..conf, puller: Mock("test/testdata/hex/rejected_licenses/bad_license.json"), ), ) + + assert warnings == [ Warning( None, @@ -80,12 +84,14 @@ pub fn get_rejected_license_test() { ), ] - assert sources.get_hex_warnings( + let #(warnings, _licenses) = + sources.get_hex_warnings( pkgs, Config( ..conf, puller: Mock("test/testdata/hex/rejected_licenses/good_license.json"), ), ) - == [] + + assert warnings == [] } diff --git a/test/testdata/gleam/basic.toml b/test/testdata/gleam/basic.toml index 87cb3cc..a7867ea 100644 --- a/test/testdata/gleam/basic.toml +++ b/test/testdata/gleam/basic.toml @@ -1,5 +1,5 @@ [go-over] -cache = false +force = true puller = "httpie" format = "detailed" diff --git a/test/warning_test.gleam b/test/warning_test.gleam index e1eb469..e1de03d 100644 --- a/test/warning_test.gleam +++ b/test/warning_test.gleam @@ -68,7 +68,6 @@ pub fn adv_to_warning_test() { )) } -// SOMETHING IS WRONG HERE pub fn retired_to_warning_test() { // with message { @@ -231,7 +230,7 @@ pub fn git_deps_to_warnings_test() { ) } -pub fn sarif_excludes_info_warnings_test() { +pub fn sarif_includes_info_warnings_test() { let info = warning.info_to_warning( "missing-package", diff --git a/test/workspace_test.gleam b/test/workspace_test.gleam index 1035348..758b407 100644 --- a/test/workspace_test.gleam +++ b/test/workspace_test.gleam @@ -1,25 +1,35 @@ import go_over/workspace pub fn discover_workspace_test() { - let projects = workspace.discover("test/testdata/workspace") + let workspace.DiscoverResult(projects, skipped) = + workspace.discover("test/testdata/workspace", 3) assert projects == [ "test/testdata/workspace/app_a", "test/testdata/workspace/app_b", ] + assert skipped == [] } pub fn discover_empty_test() { - assert workspace.discover("test/testdata/gleam") == [] + let workspace.DiscoverResult(projects, skipped) = + workspace.discover("test/testdata/gleam", 3) + + assert projects == [] + assert skipped == [] } pub fn discover_max_depth_test() { - let projects = workspace.discover("test/testdata/workspace_depth") + let workspace.DiscoverResult(projects, skipped) = + workspace.discover("test/testdata/workspace_depth", 3) assert projects == [ "test/testdata/workspace_depth/at_max/nested/project", "test/testdata/workspace_depth/shallow", ] + + assert skipped + == ["test/testdata/workspace_depth/too_deep/nested/nested/project"] } From 3aff20af000f134698f65076e7596909ce2507e3 Mon Sep 17 00:00:00 2001 From: bwireman Date: Sat, 6 Jun 2026 09:43:17 -0500 Subject: [PATCH 15/18] sarif output --- .github/workflows/ci.yml | 2 +- .github/workflows/deps.yml | 5 ++++- README.md | 11 +++++---- src/go_over.gleam | 37 ++++++++++++++++++++++++------ src/go_over/config.gleam | 46 ++++++++++++++++++++++++++++---------- test/config_test.gleam | 9 ++++++++ 6 files changed, 85 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5ac742c..ab2b30b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ jobs: rebar3-version: ${{ env.rebar }} - run: gleam test --target erlang - run: gleam build --target erlang - - run: gleam run -m go_over -- --format sarif --local > go-over.sarif + - run: gleam run -m go_over -- --format sarif --sarif-output go-over.sarif --local - run: python3 -c "import json; d=json.load(open('go-over.sarif')); assert d['version']=='2.1.0' and d['runs']" - run: gleam run --target erlang -- --local --puller wget - run: gleam run --target erlang -- --local diff --git a/.github/workflows/deps.yml b/.github/workflows/deps.yml index 7dd379f..5057ade 100644 --- a/.github/workflows/deps.yml +++ b/.github/workflows/deps.yml @@ -31,7 +31,10 @@ jobs: gleam-version: ${{ env.gleam }} rebar3-version: ${{ env.rebar }} - run: gleam build - - run: gleam run -m go_over -- --local + - run: gleam run -m go_over -- --format sarif --sarif-output go-over.sarif --local + - uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: go-over.sarif # create an issue in the repo if there are # outdated or vulnerable dependencies - uses: jayqi/failed-build-issue-action@v1 diff --git a/README.md b/README.md index 8b9599d..bd65e95 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,8 @@ gleam run -m go_over - `--format` Specify the output format of any warnings, [minimal, detailed, json, sarif] (default: None) +- `--sarif-output PATH` Write SARIF output to `PATH` instead of stdout (requires + `--format sarif`) - `--puller` Specify the tool used to reach out to hex.pm, [native, curl, wget, httpie] (default: None) - `--force`: Force pulling new data even if the cached data is still valid @@ -154,15 +156,16 @@ log suitable for GitHub's code scanning upload action: ```yaml - run: gleam build -- run: gleam run -m go_over -- --format sarif > go-over.sarif +- run: gleam run -m go_over -- --format sarif --sarif-output go-over.sarif - uses: github/codeql-action/upload-sarif@v3 with: sarif_file: go-over.sarif ``` -SARIF is written to stdout. Run `gleam build` first so compile output does not -mix into the file. Info-level notices (unnecessary ignores, skipped workspace -projects, git dependencies) are included as SARIF `note` results. +By default SARIF is written to stdout. Use `--sarif-output` to write directly to +a file instead of shell redirection. Run `gleam build` first so compile output +does not mix into stdout. Info-level notices (unnecessary ignores, skipped +workspace projects, git dependencies) are included as SARIF `note` results. You can validate SARIF output against GitHub ingestion rules at https://sarifweb.azurewebsites.net/Validation. diff --git a/src/go_over.gleam b/src/go_over.gleam index 517e97f..9a708fd 100644 --- a/src/go_over.gleam +++ b/src/go_over.gleam @@ -133,7 +133,10 @@ pub fn print_json_warnings(warnings: List(Warning)) -> Nil { |> io.print_error() } -fn print_sarif(results: List(AuditResult)) -> Nil { +fn write_sarif( + results: List(AuditResult), + output: option.Option(String), +) -> Nil { let runs = list.map(results, fn(result) { #( @@ -142,9 +145,21 @@ fn print_sarif(results: List(AuditResult)) -> Nil { ) }) - sarif.to_sarif_log(runs) - |> json.to_string() - |> io.println() + let content = + sarif.to_sarif_log(runs) + |> json.to_string() + + case output { + option.None -> content |> io.println() + option.Some(path) -> + case path |> simplifile.write(content) { + Ok(Nil) -> Nil + Error(_) -> { + io.println_error("could not write SARIF output to " <> path) + shellout.exit(1) + } + } + } } pub fn skipped_workspace_warnings(skipped: List(String)) -> List(Warning) { @@ -387,6 +402,14 @@ fn run(flags: config.Flags) -> Nil { let sarif_output = output_format == config.SARIF let json_output = output_format == config.JSON + case flags.sarif_output, sarif_output { + option.Some(_), False -> { + io.println_error("--sarif-output requires --format sarif") + shellout.exit(1) + } + _, _ -> Nil + } + case sarif_output, json_output { False, False -> list.each(results, fn(result) { @@ -406,7 +429,7 @@ fn run(flags: config.Flags) -> Nil { case any_fatal, any_outdated_failed, sarif_output, json_output { False, False, True, _ -> { - print_sarif(results) + write_sarif(results, flags.sarif_output) Nil } False, False, False, True -> { @@ -434,12 +457,12 @@ fn run(flags: config.Flags) -> Nil { Nil } False, True, True, _ -> { - print_sarif(results) + write_sarif(results, flags.sarif_output) shellout.exit(1) } False, True, False, _ -> shellout.exit(1) True, _, True, _ -> { - print_sarif(results) + write_sarif(results, flags.sarif_output) shellout.exit(1) } True, _, False, True -> shellout.exit(1) diff --git a/src/go_over/config.gleam b/src/go_over/config.gleam index c82ae21..1e1579c 100644 --- a/src/go_over/config.gleam +++ b/src/go_over/config.gleam @@ -59,6 +59,7 @@ pub type Flags { puller: option.Option(puller.Puller), single_root: option.Option(String), workspace_root: option.Option(String), + sarif_output: option.Option(String), ) } @@ -426,6 +427,14 @@ const help_named_opts = [ "Specify the output format of any warnings, [minimal, detailed, json, sarif]", ), ), + arg_info.NamedInfo( + name: "sarif-output", + short: option.None, + default: option.None, + help: option.Some( + "Write SARIF output to PATH instead of stdout (requires --format sarif)", + ), + ), arg_info.NamedInfo( name: "puller", short: option.None, @@ -544,30 +553,41 @@ fn take_named_opts( Option(String), Option(String), Option(String), + Option(String), List(String), ) { case argv { ["--format", value, ..rest] -> { - let #(_, puller, root, workspace, remaining) = take_named_opts(rest) - #(Some(value), puller, root, workspace, remaining) + let #(_, puller, root, workspace, sarif_output, remaining) = + take_named_opts(rest) + #(Some(value), puller, root, workspace, sarif_output, remaining) } ["--puller", value, ..rest] -> { - let #(format, _, root, workspace, remaining) = take_named_opts(rest) - #(format, Some(value), root, workspace, remaining) + let #(format, _, root, workspace, sarif_output, remaining) = + take_named_opts(rest) + #(format, Some(value), root, workspace, sarif_output, remaining) } ["--root", value, ..rest] -> { - let #(format, puller, _, workspace, remaining) = take_named_opts(rest) - #(format, puller, Some(value), workspace, remaining) + let #(format, puller, _, workspace, sarif_output, remaining) = + take_named_opts(rest) + #(format, puller, Some(value), workspace, sarif_output, remaining) } ["--workspace", value, ..rest] -> { - let #(format, puller, root, _, remaining) = take_named_opts(rest) - #(format, puller, root, Some(value), remaining) + let #(format, puller, root, _, sarif_output, remaining) = + take_named_opts(rest) + #(format, puller, root, Some(value), sarif_output, remaining) + } + ["--sarif-output", value, ..rest] -> { + let #(format, puller, root, workspace, _, remaining) = + take_named_opts(rest) + #(format, puller, root, workspace, Some(value), remaining) } [head, ..rest] -> { - let #(format, puller, root, workspace, remaining) = take_named_opts(rest) - #(format, puller, root, workspace, [head, ..remaining]) + let #(format, puller, root, workspace, sarif_output, remaining) = + take_named_opts(rest) + #(format, puller, root, workspace, sarif_output, [head, ..remaining]) } - [] -> #(None, None, None, None, []) + [] -> #(None, None, None, None, None, []) } } @@ -589,6 +609,7 @@ fn clip_command() { puller: option.None, single_root: option.None, workspace_root: option.None, + sarif_output: option.None, ) }) |> clip.flag(flag.help( @@ -616,7 +637,7 @@ fn clip_command() { pub fn parse_flags(argv: List(String)) -> Result(Flags, String) { let argv = normalize_workspace_argv(argv) - let #(format, puller, single_root, workspace_root, argv) = + let #(format, puller, single_root, workspace_root, sarif_output, argv) = take_named_opts(argv) use base <- result.try( @@ -631,6 +652,7 @@ pub fn parse_flags(argv: List(String)) -> Result(Flags, String) { puller: option.map(puller, parse_puller) |> option.flatten, single_root:, workspace_root:, + sarif_output:, ), ) } diff --git a/test/config_test.gleam b/test/config_test.gleam index fbc5ed4..805197e 100644 --- a/test/config_test.gleam +++ b/test/config_test.gleam @@ -216,6 +216,7 @@ const empty_flags = config.Flags( puller: option.None, single_root: option.None, workspace_root: option.None, + sarif_output: option.None, ) pub fn merge_flags_and_config_flags_only_test() { @@ -568,6 +569,14 @@ pub fn spin_up_workspace_test() { assert conf.single_root == option.None } +pub fn parse_sarif_output_test() { + let assert Ok(flags) = + config.parse_flags(["--format", "sarif", "--sarif-output", "out.sarif"]) + + assert flags.sarif_output == option.Some("out.sarif") + assert flags.format == option.Some(config.SARIF) +} + pub fn merge_root_and_workspace_error_test() { let assert Error(msg) = config.merge_flags_and_config( From ebec9b5ee545aeb0991b4b9bcc0f46e85f13855a Mon Sep 17 00:00:00 2001 From: bwireman Date: Sat, 6 Jun 2026 15:23:02 -0500 Subject: [PATCH 16/18] cleanup --- .github/workflows/deps.yml | 1 + CHANGELOG.md | 26 ++++ README.md | 8 +- gleam.toml | 1 - images/demo.gif | Bin 240332 -> 221741 bytes images/demo.tape | 4 +- src/go_over.gleam | 134 ++++++------------ src/go_over/config.gleam | 2 +- .../erlang@spin_up_test@outdated.accepted | 24 ---- .../javascript@spin_up_test@fake.accepted | 1 - .../javascript@spin_up_test@outdated.accepted | 24 ---- test/config_test.gleam | 15 ++ 12 files changed, 93 insertions(+), 147 deletions(-) create mode 100644 CHANGELOG.md delete mode 100644 test/birdie_snapshots/erlang@spin_up_test@outdated.accepted delete mode 100644 test/birdie_snapshots/javascript@spin_up_test@outdated.accepted diff --git a/.github/workflows/deps.yml b/.github/workflows/deps.yml index 5057ade..139ca38 100644 --- a/.github/workflows/deps.yml +++ b/.github/workflows/deps.yml @@ -35,6 +35,7 @@ jobs: - uses: github/codeql-action/upload-sarif@v3 with: sarif_file: go-over.sarif + - run: gleam run -m go_over -- --outdated # create an issue in the repo if there are # outdated or vulnerable dependencies - uses: jayqi/failed-build-issue-action@v1 diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..1bc7e46 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,26 @@ +# Changelog + +## 4.0.0 + +### Added + +- `--format sarif` and `--sarif-output PATH` for GitHub Code Scanning + integration +- `--workspace [PATH]` to audit every Gleam project under a directory +- `--root PATH` to audit a single project outside the current directory +- `workspace_max_depth` config option (default: `3`) for workspace discovery +- Info-level warnings for unnecessary ignore rules, git dependencies, and + workspace projects skipped due to depth limits +- `--local` and `--global` flags (previously config-only) + +### Changed + +- Built-in outdated dependency checks removed from hex.pm metadata; `--outdated` + and `[go-over] outdated` now run `gleam deps outdated` instead (default: + `false`) +- `cache` config replaced by `force` (`cache = false` in v3 meant always + refresh; use `force = true` in v4) +- `--ignore-indirect` CLI flag removed; use `[go-over.ignore] indirect = true` +- CLI `--format` overrides per-project `[go-over] format` in workspace mode +- Advisories repository is cloned once per audit instead of per check +- Default `global` cache behavior unchanged (`true`) diff --git a/README.md b/README.md index bd65e95..eaaa865 100644 --- a/README.md +++ b/README.md @@ -171,8 +171,12 @@ You can validate SARIF output against GitHub ingestion rules at https://sarifweb.azurewebsites.net/Validation. In workspace mode (`--workspace`), each Gleam project appears as a separate run -in the SARIF document. All projects must use the same output `format` (or pass -`--format` on the CLI). +in the SARIF document. Pass `--format` on the CLI to use one format for every +project; otherwise each project's `[go-over] format` must match. + +## Upgrading to v4 + +See [CHANGELOG.md](CHANGELOG.md) for breaking changes from v3. # Other Art diff --git a/gleam.toml b/gleam.toml index 81c6d6e..60d96d8 100644 --- a/gleam.toml +++ b/gleam.toml @@ -59,7 +59,6 @@ actions = [ force = false global = true format = "minimal" -outdated = false puller = "native" allowed_licenses = ["MIT", "Apache-2.0", "BSD 2-Clause", "WTFPL"] diff --git a/images/demo.gif b/images/demo.gif index 06fcae445f3089b0c285fcb19e0b3d68ba8278cb..52320620e7d1c4d7ff15661634a08b91a1866a78 100644 GIT binary patch literal 221741 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 z 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