about summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/aapt/default.nix8
-rw-r--r--pkgs/development/tools/air/default.nix20
-rw-r--r--pkgs/development/tools/algolia-cli/default.nix4
-rw-r--r--pkgs/development/tools/allure/default.nix2
-rw-r--r--pkgs/development/tools/altair-graphql-client/default.nix6
-rw-r--r--pkgs/development/tools/amazon-qldb-shell/default.nix2
-rw-r--r--pkgs/development/tools/ameba/default.nix2
-rw-r--r--pkgs/development/tools/amqpcat/default.nix2
-rw-r--r--pkgs/development/tools/analysis/actionlint/default.nix6
-rw-r--r--pkgs/development/tools/analysis/banana-vera/default.nix2
-rw-r--r--pkgs/development/tools/analysis/cargo-tarpaulin/default.nix8
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix9
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--pkgs/development/tools/analysis/clang-analyzer/default.nix2
-rw-r--r--pkgs/development/tools/analysis/coan/default.nix13
-rw-r--r--pkgs/development/tools/analysis/coan/fix-big-endian-config-check.diff22
-rw-r--r--pkgs/development/tools/analysis/codeql/default.nix4
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix6
-rw-r--r--pkgs/development/tools/analysis/cvehound/default.nix4
-rw-r--r--pkgs/development/tools/analysis/emma/default.nix2
-rw-r--r--pkgs/development/tools/analysis/eresi/default.nix2
-rw-r--r--pkgs/development/tools/analysis/findbugs/default.nix2
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix6
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix4
-rw-r--r--pkgs/development/tools/analysis/hopper/default.nix2
-rw-r--r--pkgs/development/tools/analysis/hotspot/default.nix2
-rw-r--r--pkgs/development/tools/analysis/jacoco/default.nix6
-rw-r--r--pkgs/development/tools/analysis/lcov/default.nix61
-rw-r--r--pkgs/development/tools/analysis/oclgrind/default.nix2
-rw-r--r--pkgs/development/tools/analysis/panopticon/default.nix2
-rw-r--r--pkgs/development/tools/analysis/pev/default.nix2
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix2
-rw-r--r--pkgs/development/tools/analysis/qcachegrind/default.nix2
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix54
-rw-r--r--pkgs/development/tools/analysis/retdec/default.nix2
-rw-r--r--pkgs/development/tools/analysis/rizin/default.nix2
-rw-r--r--pkgs/development/tools/analysis/rr/default.nix6
-rw-r--r--pkgs/development/tools/analysis/smatch/default.nix2
-rw-r--r--pkgs/development/tools/analysis/snyk/default.nix6
-rw-r--r--pkgs/development/tools/analysis/stylelint/default.nix6
-rw-r--r--pkgs/development/tools/analysis/svlint/default.nix6
-rw-r--r--pkgs/development/tools/analysis/tartan/default.nix53
-rw-r--r--pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-aws.nix6
-rw-r--r--pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-google.nix6
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix6
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix18
-rw-r--r--pkgs/development/tools/analysis/uefi-firmware-parser/default.nix31
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix29
-rw-r--r--pkgs/development/tools/apko/default.nix6
-rw-r--r--pkgs/development/tools/apktool/default.nix2
-rw-r--r--pkgs/development/tools/argc/default.nix37
-rw-r--r--pkgs/development/tools/asn2quickder/default.nix2
-rw-r--r--pkgs/development/tools/async-profiler/default.nix44
-rw-r--r--pkgs/development/tools/async/default.nix2
-rw-r--r--pkgs/development/tools/aws-sam-cli/default.nix11
-rw-r--r--pkgs/development/tools/azcopy/default.nix8
-rw-r--r--pkgs/development/tools/azure-static-sites-client/versions.json48
-rw-r--r--pkgs/development/tools/b4/default.nix2
-rw-r--r--pkgs/development/tools/backblaze-b2/default.nix11
-rw-r--r--pkgs/development/tools/bacon/default.nix6
-rw-r--r--pkgs/development/tools/bazel-gazelle/default.nix4
-rw-r--r--pkgs/development/tools/bazelisk/default.nix6
-rw-r--r--pkgs/development/tools/bearer/default.nix6
-rw-r--r--pkgs/development/tools/benthos/default.nix6
-rw-r--r--pkgs/development/tools/bingo/default.nix2
-rw-r--r--pkgs/development/tools/biome/default.nix8
-rw-r--r--pkgs/development/tools/bloaty/default.nix2
-rw-r--r--pkgs/development/tools/bloom/default.nix2
-rw-r--r--pkgs/development/tools/bodyclose/default.nix13
-rw-r--r--pkgs/development/tools/boomerang/default.nix2
-rw-r--r--pkgs/development/tools/boost-build/default.nix2
-rw-r--r--pkgs/development/tools/buf/default.nix20
-rw-r--r--pkgs/development/tools/buf/skip_broken_tests.patch23
-rw-r--r--pkgs/development/tools/build-managers/alire/default.nix3
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/apache-maven/build-package.nix96
-rw-r--r--pkgs/development/tools/build-managers/apache-maven/default.nix50
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_5/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_6/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock1786
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_7/bazel-repository-cache.nix85
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock839
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_7/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock14
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.nix1
-rw-r--r--pkgs/development/tools/build-managers/bazel/buildtools/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bear/default.nix3
-rw-r--r--pkgs/development/tools/build-managers/bloop/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/bob/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/buck/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/buck2/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/buck2/hashes.json10
-rw-r--r--pkgs/development/tools/build-managers/conan/default.nix1
-rw-r--r--pkgs/development/tools/build-managers/corrosion/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/drake/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/dub/default.nix158
-rw-r--r--pkgs/development/tools/build-managers/gn/generic.nix2
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/gnumake/default.nix5
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix6
-rwxr-xr-xpkgs/development/tools/build-managers/gradle/update.sh1
-rw-r--r--pkgs/development/tools/build-managers/gup/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/icmake/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/kati/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/knit/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/mage/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/mill/default.nix12
-rw-r--r--pkgs/development/tools/build-managers/moon/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/msbuild/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/muon/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/ninja/default.nix108
-rw-r--r--pkgs/development/tools/build-managers/ninja/setup-hook.sh86
-rw-r--r--pkgs/development/tools/build-managers/qbs/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/rake/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/rebar3/rebar-deps.nix2
-rw-r--r--pkgs/development/tools/build-managers/redo-c/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/redo/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/sbt-extras/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix18
-rw-r--r--pkgs/development/tools/build-managers/scala-cli/sources.json10
-rw-r--r--pkgs/development/tools/build-managers/scons/3.1.2.nix2
-rw-r--r--pkgs/development/tools/build-managers/scons/4.1.0.nix2
-rw-r--r--pkgs/development/tools/build-managers/scons/4.5.2.nix2
-rw-r--r--pkgs/development/tools/build-managers/xmake/default.nix6
-rw-r--r--pkgs/development/tools/buildah/default.nix6
-rw-r--r--pkgs/development/tools/buildah/wrapper.nix2
-rw-r--r--pkgs/development/tools/buildkit/default.nix10
-rw-r--r--pkgs/development/tools/buildpack/default.nix6
-rw-r--r--pkgs/development/tools/bunyan-rs/default.nix2
-rw-r--r--pkgs/development/tools/butane/default.nix4
-rw-r--r--pkgs/development/tools/capnproto-java/default.nix2
-rw-r--r--pkgs/development/tools/castxml/default.nix72
-rw-r--r--pkgs/development/tools/cbfmt/default.nix2
-rw-r--r--pkgs/development/tools/cddl/default.nix2
-rw-r--r--pkgs/development/tools/cdecl/cdecl-2.5-lex.patch13
-rw-r--r--pkgs/development/tools/cdecl/default.nix26
-rw-r--r--pkgs/development/tools/cdecrypt/default.nix2
-rw-r--r--pkgs/development/tools/ceedling/default.nix2
-rw-r--r--pkgs/development/tools/cfn-nag/default.nix2
-rw-r--r--pkgs/development/tools/changie/default.nix6
-rw-r--r--pkgs/development/tools/check-jsonschema/default.nix6
-rw-r--r--pkgs/development/tools/check/default.nix2
-rw-r--r--pkgs/development/tools/circup/default.nix1
-rw-r--r--pkgs/development/tools/clang-tools/default.nix54
-rwxr-xr-xpkgs/development/tools/clang-tools/wrapper27
-rw-r--r--pkgs/development/tools/click/default.nix2
-rw-r--r--pkgs/development/tools/clickable/default.nix2
-rw-r--r--pkgs/development/tools/clj-kondo/default.nix6
-rw-r--r--pkgs/development/tools/cloud-nuke/default.nix8
-rw-r--r--pkgs/development/tools/cloudsmith-cli/default.nix61
-rw-r--r--pkgs/development/tools/cmake-format/default.nix1
-rw-r--r--pkgs/development/tools/cocogitto/default.nix2
-rw-r--r--pkgs/development/tools/code-maat/default.nix2
-rw-r--r--pkgs/development/tools/codeowners/default.nix2
-rw-r--r--pkgs/development/tools/coder/default.nix20
-rw-r--r--pkgs/development/tools/codespell/default.nix8
-rw-r--r--pkgs/development/tools/comby/default.nix2
-rw-r--r--pkgs/development/tools/confluent-cli/default.nix10
-rw-r--r--pkgs/development/tools/conftest/default.nix6
-rw-r--r--pkgs/development/tools/container2wasm/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/agola/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/master.nix29
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/pkg.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/plugins.nix44
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/skip_test_linux_distro.patch6
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/worker.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-cli/default.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/cirrus-cli/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/drone/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/gitea-actions-runner/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/deps.nix12
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/gocd-agent/default.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/gocd-server/default.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/hci/default.nix5
-rw-r--r--pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker-pipeline-transform/default.nix23
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker-plugin-git/default.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/common.nix4
-rw-r--r--pkgs/development/tools/cotton/default.nix2
-rw-r--r--pkgs/development/tools/coursier/default.nix4
-rw-r--r--pkgs/development/tools/cpm-cmake/default.nix4
-rw-r--r--pkgs/development/tools/crd2pulumi/default.nix6
-rw-r--r--pkgs/development/tools/ctlptl/default.nix8
-rw-r--r--pkgs/development/tools/dapr/cli/default.nix48
-rw-r--r--pkgs/development/tools/darklua/default.nix39
-rw-r--r--pkgs/development/tools/database/apgdiff/default.nix34
-rw-r--r--pkgs/development/tools/database/atlas/default.nix10
-rw-r--r--pkgs/development/tools/database/clickhouse-backup/default.nix15
-rw-r--r--pkgs/development/tools/database/dblab/default.nix8
-rw-r--r--pkgs/development/tools/database/dbmate/default.nix6
-rw-r--r--pkgs/development/tools/database/gobang/default.nix35
-rw-r--r--pkgs/development/tools/database/indradb/default.nix2
-rw-r--r--pkgs/development/tools/database/liquibase/default.nix4
-rw-r--r--pkgs/development/tools/database/litecli/default.nix5
-rw-r--r--pkgs/development/tools/database/mermerd/default.nix6
-rw-r--r--pkgs/development/tools/database/movine/default.nix2
-rw-r--r--pkgs/development/tools/database/pg_activity/default.nix2
-rw-r--r--pkgs/development/tools/database/pgweb/default.nix6
-rw-r--r--pkgs/development/tools/database/prisma-engines/default.nix2
-rw-r--r--pkgs/development/tools/database/prqlc/default.nix8
-rw-r--r--pkgs/development/tools/database/pyrseas/default.nix2
-rw-r--r--pkgs/development/tools/database/sleek/default.nix2
-rw-r--r--pkgs/development/tools/database/sqlcl/default.nix4
-rw-r--r--pkgs/development/tools/database/sqlcmd/default.nix8
-rw-r--r--pkgs/development/tools/database/sqlfluff/default.nix4
-rw-r--r--pkgs/development/tools/database/surrealdb-migrations/Cargo.lock1216
-rw-r--r--pkgs/development/tools/database/surrealdb-migrations/default.nix6
-rw-r--r--pkgs/development/tools/database/termdbms/default.nix2
-rw-r--r--pkgs/development/tools/database/timescaledb-tune/default.nix2
-rw-r--r--pkgs/development/tools/database/trino-cli/default.nix2
-rw-r--r--pkgs/development/tools/database/vitess/default.nix8
-rw-r--r--pkgs/development/tools/database/webdis/default.nix2
-rw-r--r--pkgs/development/tools/dbus-test-runner/default.nix2
-rw-r--r--pkgs/development/tools/devbox/default.nix8
-rw-r--r--pkgs/development/tools/devd/default.nix2
-rw-r--r--pkgs/development/tools/devpi-client/default.nix73
-rw-r--r--pkgs/development/tools/devpi-server/default.nix8
-rw-r--r--pkgs/development/tools/devpod/default.nix4
-rw-r--r--pkgs/development/tools/devtodo/default.nix2
-rw-r--r--pkgs/development/tools/dive/default.nix15
-rw-r--r--pkgs/development/tools/djhtml/default.nix2
-rw-r--r--pkgs/development/tools/djlint/default.nix1
-rw-r--r--pkgs/development/tools/doctl/default.nix6
-rw-r--r--pkgs/development/tools/documentation/antora/default.nix2
-rw-r--r--pkgs/development/tools/documentation/gi-docgen/default.nix4
-rw-r--r--pkgs/development/tools/dprint/default.nix6
-rw-r--r--pkgs/development/tools/drip/default.nix2
-rw-r--r--pkgs/development/tools/dum/default.nix2
-rw-r--r--pkgs/development/tools/dump_syms/default.nix8
-rw-r--r--pkgs/development/tools/dyff/default.nix8
-rw-r--r--pkgs/development/tools/earthly/default.nix6
-rw-r--r--pkgs/development/tools/eask/default.nix29
-rw-r--r--pkgs/development/tools/eclint/default.nix29
-rw-r--r--pkgs/development/tools/ejs/default.nix2
-rw-r--r--pkgs/development/tools/ejson/default.nix2
-rw-r--r--pkgs/development/tools/electron-fiddle/default.nix2
-rw-r--r--pkgs/development/tools/electron/binary/default.nix47
-rw-r--r--pkgs/development/tools/electron/binary/generic.nix2
-rw-r--r--pkgs/development/tools/electron/binary/info.json57
-rwxr-xr-xpkgs/development/tools/electron/binary/print-hashes.sh38
-rw-r--r--pkgs/development/tools/electron/common.nix6
-rw-r--r--pkgs/development/tools/electron/info.json2909
-rwxr-xr-xpkgs/development/tools/electron/update.py792
-rw-r--r--pkgs/development/tools/elkhound/default.nix2
-rw-r--r--pkgs/development/tools/enochecker-test/default.nix2
-rw-r--r--pkgs/development/tools/ent/default.nix16
-rw-r--r--pkgs/development/tools/esbuild/default.nix6
-rw-r--r--pkgs/development/tools/esbuild/netlify.nix3
-rw-r--r--pkgs/development/tools/espup/default.nix8
-rw-r--r--pkgs/development/tools/extism-cli/default.nix12
-rw-r--r--pkgs/development/tools/faas-cli/default.nix4
-rw-r--r--pkgs/development/tools/fable/default.nix4
-rw-r--r--pkgs/development/tools/fblog/default.nix8
-rw-r--r--pkgs/development/tools/fdroidserver/default.nix2
-rw-r--r--pkgs/development/tools/fermyon-spin/default.nix14
-rw-r--r--pkgs/development/tools/firebase-tools/default.nix6
-rw-r--r--pkgs/development/tools/fission/default.nix8
-rw-r--r--pkgs/development/tools/flamegraph/default.nix14
-rw-r--r--pkgs/development/tools/flootty/default.nix2
-rw-r--r--pkgs/development/tools/fnm/default.nix6
-rw-r--r--pkgs/development/tools/fprettify/default.nix2
-rw-r--r--pkgs/development/tools/frink/default.nix36
-rw-r--r--pkgs/development/tools/fsautocomplete/default.nix10
-rw-r--r--pkgs/development/tools/fsautocomplete/deps.nix46
-rw-r--r--pkgs/development/tools/fusee-nano/default.nix2
-rw-r--r--pkgs/development/tools/gammaray/default.nix2
-rw-r--r--pkgs/development/tools/gauge/default.nix6
-rw-r--r--pkgs/development/tools/gdtoolkit/default.nix89
-rw-r--r--pkgs/development/tools/gemstash/default.nix2
-rw-r--r--pkgs/development/tools/gendef/default.nix2
-rw-r--r--pkgs/development/tools/gi-crystal/default.nix12
-rw-r--r--pkgs/development/tools/ginkgo/default.nix8
-rw-r--r--pkgs/development/tools/git-ps-rs/default.nix6
-rw-r--r--pkgs/development/tools/github-copilot-intellij-agent/default.nix2
-rw-r--r--pkgs/development/tools/github/cligh/default.nix2
-rw-r--r--pkgs/development/tools/glamoroustoolkit/default.nix2
-rw-r--r--pkgs/development/tools/glock/default.nix26
-rw-r--r--pkgs/development/tools/glock/deps.nix21
-rw-r--r--pkgs/development/tools/glslviewer/default.nix80
-rw-r--r--pkgs/development/tools/go-bindata/default.nix2
-rw-r--r--pkgs/development/tools/go-containerregistry/default.nix4
-rw-r--r--pkgs/development/tools/go-minimock/default.nix8
-rw-r--r--pkgs/development/tools/go-mockery/default.nix6
-rw-r--r--pkgs/development/tools/go-mod-graph-chart/default.nix2
-rw-r--r--pkgs/development/tools/go-swagger/default.nix6
-rw-r--r--pkgs/development/tools/go-symbols/default.nix24
-rw-r--r--pkgs/development/tools/go-symbols/deps.nix11
-rw-r--r--pkgs/development/tools/go-task/default.nix8
-rw-r--r--pkgs/development/tools/go-tools/default.nix2
-rw-r--r--pkgs/development/tools/goa/default.nix6
-rw-r--r--pkgs/development/tools/gocode-gomod/default.nix2
-rw-r--r--pkgs/development/tools/goconvey/default.nix6
-rw-r--r--pkgs/development/tools/gocover-cobertura/default.nix2
-rw-r--r--pkgs/development/tools/goda/default.nix4
-rw-r--r--pkgs/development/tools/godot/3/mono/default.nix2
-rw-r--r--pkgs/development/tools/godot/4/default.nix4
-rw-r--r--pkgs/development/tools/goimports-reviser/default.nix4
-rw-r--r--pkgs/development/tools/gojq/default.nix6
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix8
-rw-r--r--pkgs/development/tools/golines/default.nix2
-rw-r--r--pkgs/development/tools/gomplate/default.nix8
-rw-r--r--pkgs/development/tools/goperf/default.nix12
-rw-r--r--pkgs/development/tools/gops/default.nix2
-rw-r--r--pkgs/development/tools/goresym/default.nix4
-rw-r--r--pkgs/development/tools/gosec/default.nix6
-rw-r--r--pkgs/development/tools/gotestsum/default.nix2
-rw-r--r--pkgs/development/tools/gotools/default.nix8
-rw-r--r--pkgs/development/tools/gotraceui/default.nix2
-rw-r--r--pkgs/development/tools/govers/default.nix21
-rw-r--r--pkgs/development/tools/gox/default.nix2
-rw-r--r--pkgs/development/tools/gptcommit/default.nix2
-rw-r--r--pkgs/development/tools/graphql-client/default.nix2
-rw-r--r--pkgs/development/tools/grpc-gateway/default.nix6
-rw-r--r--pkgs/development/tools/gtk-mac-bundler/default.nix2
-rw-r--r--pkgs/development/tools/guile/g-wrap/default.nix2
-rw-r--r--pkgs/development/tools/haskell/hadrian/disable-hyperlinked-source.patch4
-rw-r--r--pkgs/development/tools/haskell/hadrian/hadrian-9.8.1-allow-Cabal-3.10.patch4
-rw-r--r--pkgs/development/tools/haskell/hadrian/hadrian.nix8
-rw-r--r--pkgs/development/tools/haskell/hadrian/make-hadrian.nix6
-rw-r--r--pkgs/development/tools/haskell/mueval/default.nix6
-rw-r--r--pkgs/development/tools/hatch/default.nix103
-rw-r--r--pkgs/development/tools/hclfmt/default.nix8
-rw-r--r--pkgs/development/tools/hcloud/default.nix2
-rw-r--r--pkgs/development/tools/headache/default.nix4
-rw-r--r--pkgs/development/tools/heroku/default.nix6
-rw-r--r--pkgs/development/tools/hobbes/default.nix2
-rw-r--r--pkgs/development/tools/hostess/default.nix2
-rw-r--r--pkgs/development/tools/hotdoc/default.nix2
-rw-r--r--pkgs/development/tools/hover/default.nix4
-rw-r--r--pkgs/development/tools/hred/default.nix2
-rw-r--r--pkgs/development/tools/inferno/default.nix2
-rw-r--r--pkgs/development/tools/infisical/default.nix6
-rw-r--r--pkgs/development/tools/infisical/hashes.json8
-rw-r--r--pkgs/development/tools/initool/default.nix4
-rw-r--r--pkgs/development/tools/irony-server/default.nix2
-rw-r--r--pkgs/development/tools/jaq/default.nix8
-rw-r--r--pkgs/development/tools/java/java-language-server/default.nix5
-rw-r--r--pkgs/development/tools/java/visualvm/default.nix2
-rw-r--r--pkgs/development/tools/jazzy/default.nix2
-rw-r--r--pkgs/development/tools/jbang/default.nix2
-rw-r--r--pkgs/development/tools/jf/default.nix2
-rw-r--r--pkgs/development/tools/jid/default.nix2
-rw-r--r--pkgs/development/tools/jless/default.nix2
-rw-r--r--pkgs/development/tools/jmespath/default.nix2
-rw-r--r--pkgs/development/tools/jo/default.nix2
-rw-r--r--pkgs/development/tools/jp/default.nix2
-rw-r--r--pkgs/development/tools/jq/default.nix7
-rw-r--r--pkgs/development/tools/jql/default.nix8
-rw-r--r--pkgs/development/tools/jqp/default.nix8
-rw-r--r--pkgs/development/tools/jsonnet-bundler/default.nix2
-rw-r--r--pkgs/development/tools/k6/default.nix6
-rw-r--r--pkgs/development/tools/kafka-delta-ingest/default.nix2
-rw-r--r--pkgs/development/tools/kcat/default.nix2
-rw-r--r--pkgs/development/tools/kcli/default.nix2
-rw-r--r--pkgs/development/tools/kdash/default.nix2
-rw-r--r--pkgs/development/tools/kind/default.nix6
-rw-r--r--pkgs/development/tools/knightos/kpack/default.nix2
-rw-r--r--pkgs/development/tools/knightos/scas/default.nix5
-rw-r--r--pkgs/development/tools/knightos/z80e/default.nix2
-rw-r--r--pkgs/development/tools/ko/default.nix6
-rw-r--r--pkgs/development/tools/konstraint/default.nix8
-rw-r--r--pkgs/development/tools/krankerl/default.nix2
-rw-r--r--pkgs/development/tools/krew/default.nix9
-rw-r--r--pkgs/development/tools/ktlint/default.nix6
-rw-r--r--pkgs/development/tools/kube-linter/default.nix2
-rw-r--r--pkgs/development/tools/kube-prompt/default.nix2
-rw-r--r--pkgs/development/tools/kubeswitch/default.nix2
-rw-r--r--pkgs/development/tools/kustomize/default.nix6
-rw-r--r--pkgs/development/tools/kustomize/kustomize-sops.nix2
-rw-r--r--pkgs/development/tools/kythe/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/beancount-language-server/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/ccls/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/crystalline/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/csharp-ls/default.nix4
-rw-r--r--pkgs/development/tools/language-servers/dockerfile-language-server-nodejs/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/dot-language-server/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/emmet-language-server/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/fortls/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/glslls/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/gopls/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/helm-ls/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/jq-lsp/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/lua-language-server/default.nix70
-rw-r--r--pkgs/development/tools/language-servers/metals/default.nix4
-rw-r--r--pkgs/development/tools/language-servers/millet/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/neocmakelsp/default.nix8
-rw-r--r--pkgs/development/tools/language-servers/nixd/default.nix242
-rw-r--r--pkgs/development/tools/language-servers/openscad-lsp/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/perlnavigator/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/postgres-lsp/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/pylyzer/Cargo.lock24
-rw-r--r--pkgs/development/tools/language-servers/pylyzer/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/ruff-lsp/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/rune-languageserver/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/svls/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/typst-lsp/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/verible/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/vhdl-ls/default.nix8
-rw-r--r--pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/yaml-language-server/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/yaml-language-server/package.json2
-rw-r--r--pkgs/development/tools/language-servers/zls/default.nix1
-rw-r--r--pkgs/development/tools/lazygit/default.nix4
-rw-r--r--pkgs/development/tools/leaps/default.nix2
-rw-r--r--pkgs/development/tools/librarian-puppet-go/default.nix26
-rw-r--r--pkgs/development/tools/librarian-puppet-go/deps.nix12
-rw-r--r--pkgs/development/tools/license_finder/default.nix2
-rw-r--r--pkgs/development/tools/literate-programming/Literate/default.nix40
-rw-r--r--pkgs/development/tools/literate-programming/Literate/dub-lock.json3
-rw-r--r--pkgs/development/tools/literate-programming/eweb/default.nix2
-rw-r--r--pkgs/development/tools/literate-programming/funnelweb/default.nix2
-rw-r--r--pkgs/development/tools/literate-programming/noweb/default.nix2
-rw-r--r--pkgs/development/tools/literate-programming/nuweb/default.nix2
-rw-r--r--pkgs/development/tools/ls-lint/default.nix2
-rw-r--r--pkgs/development/tools/lurk/default.nix2
-rw-r--r--pkgs/development/tools/lv_img_conv/default.nix64
-rw-r--r--pkgs/development/tools/maizzle/default.nix6
-rw-r--r--pkgs/development/tools/makerpm/default.nix2
-rw-r--r--pkgs/development/tools/mask/default.nix2
-rw-r--r--pkgs/development/tools/melange/default.nix6
-rw-r--r--pkgs/development/tools/metal-cli/default.nix8
-rw-r--r--pkgs/development/tools/micronaut/default.nix4
-rw-r--r--pkgs/development/tools/minizinc/default.nix6
-rw-r--r--pkgs/development/tools/minizinc/ide.nix4
-rw-r--r--pkgs/development/tools/misc/abi-compliance-checker/default.nix2
-rw-r--r--pkgs/development/tools/misc/acr/default.nix4
-rw-r--r--pkgs/development/tools/misc/act/default.nix6
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix88
-rw-r--r--pkgs/development/tools/misc/arcanist/dont-require-python3-in-path.patch26
-rw-r--r--pkgs/development/tools/misc/arcanist/shellcomplete-strlen-null.patch13
-rw-r--r--pkgs/development/tools/misc/astyle/default.nix4
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.16.x.nix4
-rw-r--r--pkgs/development/tools/misc/awf/default.nix2
-rw-r--r--pkgs/development/tools/misc/babeltrace/default.nix32
-rw-r--r--pkgs/development/tools/misc/binutils/2.38/libbfd.nix2
-rw-r--r--pkgs/development/tools/misc/binutils/2.38/libopcodes.nix2
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix27
-rw-r--r--pkgs/development/tools/misc/binutils/libbfd.nix2
-rw-r--r--pkgs/development/tools/misc/binutils/libopcodes.nix2
-rw-r--r--pkgs/development/tools/misc/blackfire/default.nix15
-rw-r--r--pkgs/development/tools/misc/blackfire/php-probe.nix35
-rw-r--r--pkgs/development/tools/misc/bonnmotion/default.nix2
-rw-r--r--pkgs/development/tools/misc/bsdbuild/default.nix2
-rw-r--r--pkgs/development/tools/misc/c2ffi/default.nix5
-rw-r--r--pkgs/development/tools/misc/catppuccin-catwalk/default.nix48
-rw-r--r--pkgs/development/tools/misc/cgdb/default.nix2
-rw-r--r--pkgs/development/tools/misc/cli11/default.nix36
-rw-r--r--pkgs/development/tools/misc/clojure-lsp/default.nix81
-rw-r--r--pkgs/development/tools/misc/coccinelle/default.nix57
-rw-r--r--pkgs/development/tools/misc/coreboot-toolchain/default.nix6
-rw-r--r--pkgs/development/tools/misc/coreboot-toolchain/stable.nix12
-rw-r--r--pkgs/development/tools/misc/cppi/default.nix4
-rw-r--r--pkgs/development/tools/misc/creduce/default.nix2
-rw-r--r--pkgs/development/tools/misc/cscope/default.nix2
-rw-r--r--pkgs/development/tools/misc/csmith/default.nix2
-rw-r--r--pkgs/development/tools/misc/ctags/default.nix2
-rw-r--r--pkgs/development/tools/misc/ctags/wrapped.nix146
-rw-r--r--pkgs/development/tools/misc/cwebbin/default.nix32
-rw-r--r--pkgs/development/tools/misc/dart-sass/default.nix10
-rw-r--r--pkgs/development/tools/misc/dart-sass/pubspec.lock.json68
-rw-r--r--pkgs/development/tools/misc/dejagnu/default.nix4
-rw-r--r--pkgs/development/tools/misc/devspace/default.nix2
-rw-r--r--pkgs/development/tools/misc/dfu-programmer/default.nix2
-rw-r--r--pkgs/development/tools/misc/distcc/default.nix2
-rw-r--r--pkgs/development/tools/misc/docopts/default.nix31
-rw-r--r--pkgs/development/tools/misc/docopts/deps.nix11
-rw-r--r--pkgs/development/tools/misc/dura/default.nix2
-rw-r--r--pkgs/development/tools/misc/editorconfig-checker/default.nix2
-rw-r--r--pkgs/development/tools/misc/editorconfig-core-c/default.nix4
-rw-r--r--pkgs/development/tools/misc/elfkickers/default.nix2
-rw-r--r--pkgs/development/tools/misc/elfutils/default.nix2
-rw-r--r--pkgs/development/tools/misc/epm/default.nix2
-rw-r--r--pkgs/development/tools/misc/ezno/default.nix2
-rw-r--r--pkgs/development/tools/misc/fswatch/default.nix2
-rw-r--r--pkgs/development/tools/misc/funzzy/default.nix2
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix6
-rw-r--r--pkgs/development/tools/misc/gdbgui/default.nix2
-rw-r--r--pkgs/development/tools/misc/gef/default.nix6
-rw-r--r--pkgs/development/tools/misc/gf/default.nix2
-rw-r--r--pkgs/development/tools/misc/gnum4/default.nix9
-rw-r--r--pkgs/development/tools/misc/grpc-client-cli/default.nix6
-rw-r--r--pkgs/development/tools/misc/highlight-assertions/default.nix2
-rw-r--r--pkgs/development/tools/misc/hydra-cli/default.nix2
-rw-r--r--pkgs/development/tools/misc/hydra/unstable.nix2
-rw-r--r--pkgs/development/tools/misc/igprof/default.nix2
-rw-r--r--pkgs/development/tools/misc/indent/default.nix2
-rw-r--r--pkgs/development/tools/misc/jcli/default.nix2
-rw-r--r--pkgs/development/tools/misc/libtool/libtool2.nix5
-rw-r--r--pkgs/development/tools/misc/licenseclassifier/default.nix2
-rw-r--r--pkgs/development/tools/misc/linuxkit/default.nix2
-rw-r--r--pkgs/development/tools/misc/lsof/default.nix2
-rw-r--r--pkgs/development/tools/misc/lttng-ust/generic.nix2
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix26
-rw-r--r--pkgs/development/tools/misc/luarocks/luarocks-nix.nix27
-rw-r--r--pkgs/development/tools/misc/mdl/default.nix2
-rw-r--r--pkgs/development/tools/misc/mkcert/default.nix2
-rw-r--r--pkgs/development/tools/misc/n98-magerun/default.nix2
-rw-r--r--pkgs/development/tools/misc/n98-magerun2/default.nix8
-rw-r--r--pkgs/development/tools/misc/ninka/default.nix2
-rw-r--r--pkgs/development/tools/misc/nix-bisect/default.nix20
-rw-r--r--pkgs/development/tools/misc/nix-build-uncached/default.nix2
-rw-r--r--pkgs/development/tools/misc/nixbang/default.nix2
-rw-r--r--pkgs/development/tools/misc/one_gadget/default.nix2
-rw-r--r--pkgs/development/tools/misc/orogene/default.nix2
-rw-r--r--pkgs/development/tools/misc/pahole/default.nix46
-rw-r--r--pkgs/development/tools/misc/pahole/threading-reproducibility.patch18
-rw-r--r--pkgs/development/tools/misc/patchelf/default.nix2
-rw-r--r--pkgs/development/tools/misc/patchelf/unstable.nix6
-rw-r--r--pkgs/development/tools/misc/patsh/default.nix2
-rw-r--r--pkgs/development/tools/misc/pest-ide-tools/default.nix8
-rw-r--r--pkgs/development/tools/misc/pkg-config/default.nix13
-rw-r--r--pkgs/development/tools/misc/planus/default.nix2
-rw-r--r--pkgs/development/tools/misc/polylith/default.nix2
-rw-r--r--pkgs/development/tools/misc/premake/3.nix2
-rw-r--r--pkgs/development/tools/misc/premake/5.nix11
-rw-r--r--pkgs/development/tools/misc/premake/default.nix2
-rw-r--r--pkgs/development/tools/misc/protox/default.nix2
-rw-r--r--pkgs/development/tools/misc/ptags/default.nix2
-rw-r--r--pkgs/development/tools/misc/python-launcher/default.nix2
-rw-r--r--pkgs/development/tools/misc/regex-cli/default.nix2
-rw-r--r--pkgs/development/tools/misc/remarkable/remarkable-toolchain/default.nix2
-rw-r--r--pkgs/development/tools/misc/remarkable/remarkable2-toolchain/default.nix2
-rw-r--r--pkgs/development/tools/misc/replacement/default.nix2
-rw-r--r--pkgs/development/tools/misc/reviewdog/default.nix6
-rw-r--r--pkgs/development/tools/misc/riff/default.nix2
-rw-r--r--pkgs/development/tools/misc/rolespec/default.nix2
-rw-r--r--pkgs/development/tools/misc/rsass/default.nix6
-rw-r--r--pkgs/development/tools/misc/samply/default.nix2
-rw-r--r--pkgs/development/tools/misc/scc/default.nix25
-rw-r--r--pkgs/development/tools/misc/sccache/default.nix6
-rw-r--r--pkgs/development/tools/misc/scriptisto/default.nix8
-rw-r--r--pkgs/development/tools/misc/seer/default.nix14
-rw-r--r--pkgs/development/tools/misc/sipp/default.nix2
-rw-r--r--pkgs/development/tools/misc/spruce/default.nix2
-rw-r--r--pkgs/development/tools/misc/src-cli/default.nix6
-rw-r--r--pkgs/development/tools/misc/strace/default.nix6
-rw-r--r--pkgs/development/tools/misc/swig/2.x.nix2
-rw-r--r--pkgs/development/tools/misc/swig/3.x.nix2
-rw-r--r--pkgs/development/tools/misc/sysbench/default.nix24
-rw-r--r--pkgs/development/tools/misc/terramate/default.nix9
-rw-r--r--pkgs/development/tools/misc/terser/default.nix6
-rw-r--r--pkgs/development/tools/misc/tet/default.nix2
-rw-r--r--pkgs/development/tools/misc/texinfo/4.13a.nix6
-rw-r--r--pkgs/development/tools/misc/texinfo/common.nix17
-rw-r--r--pkgs/development/tools/misc/texlab/default.nix10
-rw-r--r--pkgs/development/tools/misc/tie/default.nix2
-rw-r--r--pkgs/development/tools/misc/tokei/default.nix2
-rw-r--r--pkgs/development/tools/misc/topiary/default.nix2
-rw-r--r--pkgs/development/tools/misc/ttags/default.nix6
-rw-r--r--pkgs/development/tools/misc/typical/default.nix6
-rw-r--r--pkgs/development/tools/misc/uncrustify/default.nix4
-rw-r--r--pkgs/development/tools/misc/universal-ctags/default.nix2
-rw-r--r--pkgs/development/tools/misc/unixbench/default.nix6
-rw-r--r--pkgs/development/tools/misc/unused/default.nix2
-rw-r--r--pkgs/development/tools/misc/usb-modeswitch/default.nix7
-rw-r--r--pkgs/development/tools/misc/usb-modeswitch/pkg-config.patch14
-rw-r--r--pkgs/development/tools/misc/vtable-dumper/default.nix2
-rw-r--r--pkgs/development/tools/misc/watson-ruby/default.nix2
-rw-r--r--pkgs/development/tools/misc/xspim/default.nix2
-rw-r--r--pkgs/development/tools/misc/xxgdb/default.nix2
-rw-r--r--pkgs/development/tools/misc/yodl/default.nix2
-rw-r--r--pkgs/development/tools/mix2nix/default.nix2
-rw-r--r--pkgs/development/tools/modd/default.nix2
-rw-r--r--pkgs/development/tools/mold/default.nix119
-rw-r--r--pkgs/development/tools/mongosh/default.nix2
-rw-r--r--pkgs/development/tools/mongosh/package-lock.json2626
-rw-r--r--pkgs/development/tools/mongosh/source.json8
-rw-r--r--pkgs/development/tools/mpfshell/default.nix2
-rw-r--r--pkgs/development/tools/mustache-go/default.nix2
-rw-r--r--pkgs/development/tools/mysql-shell/default.nix12
-rw-r--r--pkgs/development/tools/mysql-shell/innovation.nix42
-rw-r--r--pkgs/development/tools/nagelfar/default.nix2
-rw-r--r--pkgs/development/tools/neil/default.nix2
-rw-r--r--pkgs/development/tools/nodehun/default.nix2
-rw-r--r--pkgs/development/tools/nodenv/default.nix4
-rw-r--r--pkgs/development/tools/nsis/default.nix2
-rw-r--r--pkgs/development/tools/nufmt/default.nix8
-rw-r--r--pkgs/development/tools/nwjs/default.nix14
-rw-r--r--pkgs/development/tools/ocaml/camlidl/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/camlp4/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/cppo/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/dune/1.nix2
-rw-r--r--pkgs/development/tools/ocaml/dune/2.nix2
-rw-r--r--pkgs/development/tools/ocaml/dune/3.nix6
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix4
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix2
-rw-r--r--pkgs/development/tools/ocaml/merlin/4.x.nix2
-rw-r--r--pkgs/development/tools/ocaml/merlin/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/merlin/dot-merlin-reader.nix2
-rw-r--r--pkgs/development/tools/ocaml/obelisk/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocaml-top/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocamlbuild/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocp-build/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocp-indent/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocp-index/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/ocsigen-i18n/default.nix20
-rw-r--r--pkgs/development/tools/ocaml/omake/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/opam-publish/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix2
-rw-r--r--pkgs/development/tools/oh-my-posh/default.nix62
-rw-r--r--pkgs/development/tools/okteto/default.nix12
-rw-r--r--pkgs/development/tools/ols/default.nix55
-rw-r--r--pkgs/development/tools/omniorb/default.nix2
-rw-r--r--pkgs/development/tools/opcr-policy/default.nix6
-rw-r--r--pkgs/development/tools/open-policy-agent/default.nix4
-rw-r--r--pkgs/development/tools/operator-sdk/default.nix6
-rw-r--r--pkgs/development/tools/oq/default.nix2
-rw-r--r--pkgs/development/tools/oras/default.nix8
-rw-r--r--pkgs/development/tools/oxlint/default.nix2
-rw-r--r--pkgs/development/tools/package-project-cmake/default.nix2
-rw-r--r--pkgs/development/tools/packcc/default.nix2
-rw-r--r--pkgs/development/tools/packer/default.nix8
-rw-r--r--pkgs/development/tools/parsing/antlr/2.7.7.nix2
-rw-r--r--pkgs/development/tools/parsing/bisonc++/default.nix2
-rw-r--r--pkgs/development/tools/parsing/flex/2.5.35.nix2
-rw-r--r--pkgs/development/tools/parsing/flex/default.nix2
-rw-r--r--pkgs/development/tools/parsing/hammer/default.nix2
-rw-r--r--pkgs/development/tools/parsing/javacc/default.nix2
-rw-r--r--pkgs/development/tools/parsing/jikespg/default.nix4
-rw-r--r--pkgs/development/tools/parsing/lemon/default.nix2
-rw-r--r--pkgs/development/tools/parsing/nex/default.nix17
-rw-r--r--pkgs/development/tools/parsing/re-flex/default.nix2
-rw-r--r--pkgs/development/tools/parsing/spicy/default.nix6
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/default.nix2
-rw-r--r--pkgs/development/tools/patcher9x/default.nix2
-rw-r--r--pkgs/development/tools/pax-rs/default.nix2
-rw-r--r--pkgs/development/tools/perseus-cli/default.nix2
-rw-r--r--pkgs/development/tools/pet/default.nix6
-rw-r--r--pkgs/development/tools/pgformatter/default.nix2
-rw-r--r--pkgs/development/tools/pgtop/default.nix2
-rw-r--r--pkgs/development/tools/pigeon/default.nix2
-rw-r--r--pkgs/development/tools/pipenv/default.nix6
-rw-r--r--pkgs/development/tools/pnpm/default.nix20
-rw-r--r--pkgs/development/tools/pnpm/fetch-deps/default.nix91
-rw-r--r--pkgs/development/tools/pnpm/fetch-deps/pnpm-config-hook.sh40
-rw-r--r--pkgs/development/tools/pnpm/fetch-deps/serve.nix30
-rw-r--r--pkgs/development/tools/pnpm/generic.nix80
-rw-r--r--pkgs/development/tools/pqrs/default.nix6
-rw-r--r--pkgs/development/tools/profiling/heaptrack/default.nix19
-rw-r--r--pkgs/development/tools/profiling/pprof/default.nix13
-rw-r--r--pkgs/development/tools/prospector/default.nix1
-rw-r--r--pkgs/development/tools/prospector/setoptconf.nix2
-rw-r--r--pkgs/development/tools/protoc-gen-connect-go/default.nix6
-rw-r--r--pkgs/development/tools/protoc-gen-dart/default.nix2
-rwxr-xr-xpkgs/development/tools/protoc-gen-dart/update.sh33
-rw-r--r--pkgs/development/tools/protoc-gen-go-grpc/default.nix2
-rw-r--r--pkgs/development/tools/protoc-gen-go-vtproto/default.nix2
-rw-r--r--pkgs/development/tools/protoc-gen-go/default.nix4
-rw-r--r--pkgs/development/tools/protoc-gen-prost-crate/default.nix26
-rw-r--r--pkgs/development/tools/protoc-gen-prost-serde/default.nix26
-rw-r--r--pkgs/development/tools/protoc-gen-prost/default.nix26
-rw-r--r--pkgs/development/tools/protoc-gen-rust/default.nix30
-rw-r--r--pkgs/development/tools/protoc-gen-tonic/default.nix26
-rw-r--r--pkgs/development/tools/protoc-gen-twirp/default.nix14
-rw-r--r--pkgs/development/tools/protoc-gen-twirp_php/default.nix6
-rw-r--r--pkgs/development/tools/protolint/default.nix8
-rw-r--r--pkgs/development/tools/pry/default.nix2
-rw-r--r--pkgs/development/tools/pscale/default.nix2
-rw-r--r--pkgs/development/tools/pur/default.nix16
-rw-r--r--pkgs/development/tools/purescript/spago/default.nix88
-rw-r--r--pkgs/development/tools/purescript/spago/spago.nix13
-rw-r--r--pkgs/development/tools/pyenv/default.nix4
-rw-r--r--pkgs/development/tools/pypi-mirror/default.nix2
-rw-r--r--pkgs/development/tools/qtcreator/default.nix4
-rw-r--r--pkgs/development/tools/railway/default.nix6
-rw-r--r--pkgs/development/tools/rain/default.nix8
-rw-r--r--pkgs/development/tools/rbspy/default.nix8
-rw-r--r--pkgs/development/tools/rcodesign/default.nix2
-rw-r--r--pkgs/development/tools/react-native-debugger/default.nix2
-rw-r--r--pkgs/development/tools/react-static/default.nix2
-rw-r--r--pkgs/development/tools/redisinsight/default.nix11
-rw-r--r--pkgs/development/tools/refinery-cli/default.nix28
-rw-r--r--pkgs/development/tools/reflex/default.nix2
-rw-r--r--pkgs/development/tools/refurb/default.nix2
-rw-r--r--pkgs/development/tools/regclient/default.nix11
-rw-r--r--pkgs/development/tools/reindeer/default.nix10
-rw-r--r--pkgs/development/tools/relic/default.nix8
-rw-r--r--pkgs/development/tools/renderdoc/default.nix6
-rw-r--r--pkgs/development/tools/replay-io/default.nix4
-rw-r--r--pkgs/development/tools/repository-managers/nexus/default.nix4
-rw-r--r--pkgs/development/tools/reshape/default.nix2
-rw-r--r--pkgs/development/tools/rgp/default.nix32
-rw-r--r--pkgs/development/tools/rover/default.nix2
-rw-r--r--pkgs/development/tools/rq/default.nix2
-rw-r--r--pkgs/development/tools/rslint/default.nix2
-rw-r--r--pkgs/development/tools/rstfmt/default.nix2
-rw-r--r--pkgs/development/tools/rubyfmt/default.nix14
-rw-r--r--pkgs/development/tools/ruff/Cargo.lock4043
-rw-r--r--pkgs/development/tools/ruff/default.nix46
-rw-r--r--pkgs/development/tools/rund/default.nix2
-rw-r--r--pkgs/development/tools/rust/bootimage/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-about/default.nix41
-rw-r--r--pkgs/development/tools/rust/cargo-all-features/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-benchcmp/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-binstall/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-bisect-rustc/default.nix66
-rw-r--r--pkgs/development/tools/rust/cargo-bolero/default.nix12
-rw-r--r--pkgs/development/tools/rust/cargo-c/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-careful/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-chef/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-clone/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-component/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-cranky/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-crev/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-cyclonedx/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-deb/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-deny/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-depgraph/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-dephell/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-dist/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-duplicates/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-edit/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-geiger/default.nix60
-rw-r--r--pkgs/development/tools/rust/cargo-generate/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-guppy/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-hakari/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-insta/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-lambda/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-leptos/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-llvm-cov/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-llvm-lines/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-local-registry/default.nix7
-rw-r--r--pkgs/development/tools/rust/cargo-machete/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-mobile2/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-modules/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-mutants/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-ndk/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-nextest/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-outdated/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-pgrx/buildPgrxExtension.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-profiler/default.nix34
-rw-r--r--pkgs/development/tools/rust/cargo-public-api/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-raze/default.nix48
-rw-r--r--pkgs/development/tools/rust/cargo-readme/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-risczero/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-semver-checks/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-show-asm/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-shuttle/Cargo.lock3656
-rw-r--r--pkgs/development/tools/rust/cargo-shuttle/default.nix9
-rw-r--r--pkgs/development/tools/rust/cargo-sort/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-sweep/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-sync-readme/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-tally/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-tauri/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-temp/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-toml-lint/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-ui/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-unused-features/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-update/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-vet/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-wasi/default.nix39
-rw-r--r--pkgs/development/tools/rust/cargo-watch/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-web/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-whatfeatures/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-workspaces/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-zigbuild/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo2junit/default.nix2
-rw-r--r--pkgs/development/tools/rust/cauwugo/default.nix2
-rw-r--r--pkgs/development/tools/rust/cbindgen/default.nix2
-rw-r--r--pkgs/development/tools/rust/crate2nix/default.nix2
-rw-r--r--pkgs/development/tools/rust/critcmp/default.nix2
-rw-r--r--pkgs/development/tools/rust/duckscript/default.nix3
-rw-r--r--pkgs/development/tools/rust/leptosfmt/default.nix2
-rw-r--r--pkgs/development/tools/rust/maturin/default.nix6
-rw-r--r--pkgs/development/tools/rust/probe-rs/default.nix38
-rw-r--r--pkgs/development/tools/rust/ra-multiplex/default.nix2
-rw-r--r--pkgs/development/tools/rust/roogle/default.nix2
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix8
-rw-r--r--pkgs/development/tools/rust/rust-audit-info/default.nix2
-rw-r--r--pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch188
-rw-r--r--pkgs/development/tools/rust/rustup/default.nix24
-rw-r--r--pkgs/development/tools/rust/rusty-man/default.nix2
-rw-r--r--pkgs/development/tools/rust/sqlx-cli/default.nix6
-rw-r--r--pkgs/development/tools/rust/svd2rust/default.nix6
-rw-r--r--pkgs/development/tools/rye/Cargo.lock873
-rw-r--r--pkgs/development/tools/rye/default.nix20
-rw-r--r--pkgs/development/tools/sassc/default.nix2
-rw-r--r--pkgs/development/tools/sauce-connect/default.nix2
-rwxr-xr-xpkgs/development/tools/sauce-connect/update.sh3
-rw-r--r--pkgs/development/tools/sca2d/default.nix2
-rw-r--r--pkgs/development/tools/scalafmt/default.nix4
-rw-r--r--pkgs/development/tools/scenebuilder/default.nix2
-rw-r--r--pkgs/development/tools/scenic-view/default.nix2
-rw-r--r--pkgs/development/tools/scss-lint/default.nix2
-rw-r--r--pkgs/development/tools/sea-orm-cli/default.nix6
-rw-r--r--pkgs/development/tools/selene/default.nix2
-rw-r--r--pkgs/development/tools/selenium/chromedriver/default.nix2
-rw-r--r--pkgs/development/tools/selenium/htmlunit-driver/default.nix2
-rw-r--r--pkgs/development/tools/sem/default.nix2
-rw-r--r--pkgs/development/tools/semantic-release/default.nix6
-rw-r--r--pkgs/development/tools/sentry-cli/default.nix8
-rw-r--r--pkgs/development/tools/shellharden/default.nix2
-rw-r--r--pkgs/development/tools/simavr/default.nix6
-rw-r--r--pkgs/development/tools/skaffold/default.nix4
-rw-r--r--pkgs/development/tools/skjold/default.nix51
-rw-r--r--pkgs/development/tools/skopeo/default.nix6
-rw-r--r--pkgs/development/tools/smlfmt/default.nix2
-rw-r--r--pkgs/development/tools/snazy/default.nix2
-rw-r--r--pkgs/development/tools/so/default.nix2
-rw-r--r--pkgs/development/tools/solarus-quest-editor/default.nix2
-rw-r--r--pkgs/development/tools/spicy/default.nix2
-rw-r--r--pkgs/development/tools/spirv-tools/default.nix6
-rw-r--r--pkgs/development/tools/spring-boot-cli/default.nix4
-rw-r--r--pkgs/development/tools/sqldef/default.nix6
-rw-r--r--pkgs/development/tools/squawk/default.nix6
-rw-r--r--pkgs/development/tools/sslmate-agent/default.nix2
-rw-r--r--pkgs/development/tools/steamos-devkit/default.nix10
-rw-r--r--pkgs/development/tools/stylua/default.nix2
-rw-r--r--pkgs/development/tools/subxt/default.nix8
-rw-r--r--pkgs/development/tools/supabase-cli/default.nix8
-rw-r--r--pkgs/development/tools/swiftformat/default.nix2
-rw-r--r--pkgs/development/tools/swiftpm2nix/support.nix2
-rw-r--r--pkgs/development/tools/systemfd/default.nix2
-rw-r--r--pkgs/development/tools/tailwindcss/default.nix12
-rw-r--r--pkgs/development/tools/taplo/default.nix2
-rw-r--r--pkgs/development/tools/tapview/default.nix2
-rw-r--r--pkgs/development/tools/teller/default.nix75
-rw-r--r--pkgs/development/tools/tokio-console/default.nix2
-rw-r--r--pkgs/development/tools/toluapp/default.nix2
-rw-r--r--pkgs/development/tools/toml2json/default.nix2
-rw-r--r--pkgs/development/tools/toml2nix/default.nix2
-rw-r--r--pkgs/development/tools/tracy/0001-remove-unifiedtypeidentifiers-framework13
-rw-r--r--pkgs/development/tools/tracy/default.nix111
-rw-r--r--pkgs/development/tools/tradcpp/default.nix2
-rw-r--r--pkgs/development/tools/treefmt/default.nix22
-rw-r--r--pkgs/development/tools/trunk/default.nix27
-rw-r--r--pkgs/development/tools/turbogit/default.nix2
-rw-r--r--pkgs/development/tools/turso-cli/default.nix6
-rw-r--r--pkgs/development/tools/twiggy/default.nix23
-rw-r--r--pkgs/development/tools/twilio-cli/default.nix4
-rw-r--r--pkgs/development/tools/twitch-cli/default.nix2
-rw-r--r--pkgs/development/tools/typos/default.nix6
-rw-r--r--pkgs/development/tools/unconvert/default.nix8
-rw-r--r--pkgs/development/tools/upbound/default.nix32
-rw-r--r--pkgs/development/tools/vagrant/default.nix2
-rw-r--r--pkgs/development/tools/vala-lint/default.nix2
-rw-r--r--pkgs/development/tools/vendir/default.nix4
-rw-r--r--pkgs/development/tools/viceroy/default.nix6
-rw-r--r--pkgs/development/tools/vndr/default.nix25
-rw-r--r--pkgs/development/tools/volta/default.nix2
-rw-r--r--pkgs/development/tools/vsce/default.nix6
-rw-r--r--pkgs/development/tools/vulkan-validation-layers/default.nix6
-rw-r--r--pkgs/development/tools/vulkan-validation-layers/robin-hood-hashing.nix2
-rw-r--r--pkgs/development/tools/vultr-cli/default.nix6
-rw-r--r--pkgs/development/tools/wabt/default.nix6
-rw-r--r--pkgs/development/tools/wails/default.nix6
-rw-r--r--pkgs/development/tools/wally-cli/default.nix2
-rw-r--r--pkgs/development/tools/wasm-pack/default.nix2
-rw-r--r--pkgs/development/tools/wasmedge/default.nix6
-rw-r--r--pkgs/development/tools/wasmi/default.nix2
-rw-r--r--pkgs/development/tools/wasmserve/default.nix2
-rw-r--r--pkgs/development/tools/web-ext/default.nix8
-rw-r--r--pkgs/development/tools/wgo/default.nix4
-rw-r--r--pkgs/development/tools/wire/default.nix2
-rw-r--r--pkgs/development/tools/wizer/default.nix45
-rw-r--r--pkgs/development/tools/wllvm/default.nix2
-rw-r--r--pkgs/development/tools/worker-build/default.nix2
-rw-r--r--pkgs/development/tools/wrangler_1/default.nix2
-rw-r--r--pkgs/development/tools/wxformbuilder/default.nix12
-rw-r--r--pkgs/development/tools/xqilla/default.nix17
-rw-r--r--pkgs/development/tools/yamlfmt/default.nix8
-rw-r--r--pkgs/development/tools/yarn-berry/default.nix6
-rw-r--r--pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix28
-rw-r--r--pkgs/development/tools/yq-go/default.nix6
-rw-r--r--pkgs/development/tools/ytt/default.nix4
-rw-r--r--pkgs/development/tools/yuicompressor/default.nix2
-rw-r--r--pkgs/development/tools/zed/default.nix2
-rw-r--r--pkgs/development/tools/zld/default.nix2
875 files changed, 14171 insertions, 13398 deletions
diff --git a/pkgs/development/tools/aapt/default.nix b/pkgs/development/tools/aapt/default.nix
index c02e644c158b7..4af284948f0b8 100644
--- a/pkgs/development/tools/aapt/default.nix
+++ b/pkgs/development/tools/aapt/default.nix
@@ -7,17 +7,17 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "aapt";
-  version = "8.0.2-9289358";
+  version = "8.4.1-11315950";
 
   src =
     let
       urlAndHash =
         if stdenvNoCC.isLinux then {
           url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-linux.jar";
-          hash = "sha256-P8eVIS6zaZGPh4Z7SXUiLtZaX1YIsSmGOdvF6Xb1WHI=";
+          hash = "sha256-eSQaZrRtb5aCG320hrXAL256fxa/oMhBC4hcTA1KRxs=";
         } else if stdenvNoCC.isDarwin then {
           url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-osx.jar";
-          hash = "sha256-hDfEPk3IJt+8FbRVEiHQbn24vsuOe6m36UcQsT6tGsQ=";
+          hash = "sha256-LUihNjase79JbUkHDb10A5d6pJ+VXDVfv7m09hkL8kY=";
         } else throw "Unsupport platform: ${stdenvNoCC.system}";
     in
     fetchzip (urlAndHash // {
@@ -37,7 +37,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = {
-    description = "A build tool that compiles and packages Android app's resources";
+    description = "Build tool that compiles and packages Android app's resources";
     mainProgram = "aapt2";
     homepage = "https://developer.android.com/tools/aapt2";
     license = lib.licenses.asl20;
diff --git a/pkgs/development/tools/air/default.nix b/pkgs/development/tools/air/default.nix
index 2ce9e3d06b2f2..952f43fff4fd2 100644
--- a/pkgs/development/tools/air/default.nix
+++ b/pkgs/development/tools/air/default.nix
@@ -1,26 +1,34 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+}:
 
 buildGoModule rec {
   pname = "air";
-  version = "1.51.0";
+  version = "1.52.2";
 
   src = fetchFromGitHub {
-    owner = "cosmtrek";
+    owner = "air-verse";
     repo = "air";
     rev = "v${version}";
-    hash = "sha256-Vkg3QPUvhJphmZ7Ek3tuFnSEjfSy6LfctGMA07IufUU=";
+    hash = "sha256-j1iyVEvg7hqZ634hbAvH5RmVnV7bNsezw72OJ1CNvmY=";
   };
 
   vendorHash = "sha256-dSu00NAq6hEOdJxXp+12UaUq32z53Wzla3/u+2nxqPw=";
 
-   ldflags = [ "-s" "-w" "-X=main.airVersion=${version}" ];
+  ldflags = [
+    "-s"
+    "-w"
+    "-X=main.airVersion=${version}"
+  ];
 
   subPackages = [ "." ];
 
   meta = with lib; {
     description = "Live reload for Go apps";
     mainProgram = "air";
-    homepage = "https://github.com/cosmtrek/air";
+    homepage = "https://github.com/air-verse/air";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ Gonzih ];
   };
diff --git a/pkgs/development/tools/algolia-cli/default.nix b/pkgs/development/tools/algolia-cli/default.nix
index 1d02230ec96bd..f8572eeb19412 100644
--- a/pkgs/development/tools/algolia-cli/default.nix
+++ b/pkgs/development/tools/algolia-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "algolia-cli";
-  version = "1.6.8";
+  version = "1.6.11";
 
   src = fetchFromGitHub {
     owner = "algolia";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-PqiFx1Bzv4cYwnlr1BDPGiumUUneT5sq64eFFcYPmaA=";
+    hash = "sha256-VqY0h0Z3ocmgw0uFI4f6B5C/bTt3zoUXBlYPgOPxBo0=";
   };
 
   vendorHash = "sha256-cNuBTH7L2K4TgD0H9FZ9CjhE5AGXADaniGLD9Lhrtrk=";
diff --git a/pkgs/development/tools/allure/default.nix b/pkgs/development/tools/allure/default.nix
index 2d247e3f7d419..b711e38364a33 100644
--- a/pkgs/development/tools/allure/default.nix
+++ b/pkgs/development/tools/allure/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta =  {
     homepage = "https://docs.qameta.io/allure/";
-    description = "Allure Report is a flexible, lightweight multi-language test reporting tool.";
+    description = "Allure Report is a flexible, lightweight multi-language test reporting tool";
     longDescription = ''
       Allure Report is a flexible, lightweight multi-language test reporting
       tool providing clear graphical reports and allowing everyone involved
diff --git a/pkgs/development/tools/altair-graphql-client/default.nix b/pkgs/development/tools/altair-graphql-client/default.nix
index 0f6cdeffe86ca..98b0861b7b632 100644
--- a/pkgs/development/tools/altair-graphql-client/default.nix
+++ b/pkgs/development/tools/altair-graphql-client/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "altair";
-  version = "6.4.0";
+  version = "7.0.1";
 
   src = fetchurl {
     url = "https://github.com/imolorhe/altair/releases/download/v${version}/altair_${version}_x86_64_linux.AppImage";
-    sha256 = "sha256-eUUPfMwCMrMHk2RcLfpI8VuolgI/7geY6/6QrWjkIXg=";
+    sha256 = "sha256-hcZwGJ409r3XKVScGfj0DonZdClDVvTcIZlmJ1Xd9Mw=";
   };
 
   appimageContents = appimageTools.extract { inherit pname version src; };
@@ -26,7 +26,7 @@ appimageTools.wrapType2 {
   '';
 
   meta = with lib; {
-    description = "A feature-rich GraphQL Client IDE";
+    description = "Feature-rich GraphQL Client IDE";
     mainProgram = "altair";
     homepage = "https://github.com/imolorhe/altair";
     license = licenses.mit;
diff --git a/pkgs/development/tools/amazon-qldb-shell/default.nix b/pkgs/development/tools/amazon-qldb-shell/default.nix
index 0200f4e0fb3cb..2aa7ba99479db 100644
--- a/pkgs/development/tools/amazon-qldb-shell/default.nix
+++ b/pkgs/development/tools/amazon-qldb-shell/default.nix
@@ -33,7 +33,7 @@ let
     passthru.tests.version = testers.testVersion { inherit package; };
 
     meta = with lib; {
-      description = "An interface to send PartiQL statements to Amazon Quantum Ledger Database (QLDB)";
+      description = "Interface to send PartiQL statements to Amazon Quantum Ledger Database (QLDB)";
       homepage = "https://github.com/awslabs/amazon-qldb-shell";
       license = licenses.asl20;
       maintainers = [ maintainers.terlar ];
diff --git a/pkgs/development/tools/ameba/default.nix b/pkgs/development/tools/ameba/default.nix
index f98ec6183f997..6f15544953b8f 100644
--- a/pkgs/development/tools/ameba/default.nix
+++ b/pkgs/development/tools/ameba/default.nix
@@ -14,7 +14,7 @@ crystal.buildCrystalPackage rec {
   format = "make";
 
   meta = with lib; {
-    description = "A static code analysis tool for Crystal";
+    description = "Static code analysis tool for Crystal";
     mainProgram = "ameba";
     homepage = "https://crystal-ameba.github.io";
     changelog = "https://github.com/crystal-ameba/ameba/releases/tag/v${version}";
diff --git a/pkgs/development/tools/amqpcat/default.nix b/pkgs/development/tools/amqpcat/default.nix
index 7672e8379089c..38c0b5302ff18 100644
--- a/pkgs/development/tools/amqpcat/default.nix
+++ b/pkgs/development/tools/amqpcat/default.nix
@@ -24,7 +24,7 @@ crystal.buildCrystalPackage rec {
   };
 
   meta = with lib; {
-    description = "A CLI tool for publishing to and consuming from AMQP servers";
+    description = "CLI tool for publishing to and consuming from AMQP servers";
     mainProgram = "amqpcat";
     homepage = "https://github.com/cloudamqp/amqpcat";
     license = licenses.mit;
diff --git a/pkgs/development/tools/analysis/actionlint/default.nix b/pkgs/development/tools/analysis/actionlint/default.nix
index 71b361b615165..417a28cd1599a 100644
--- a/pkgs/development/tools/analysis/actionlint/default.nix
+++ b/pkgs/development/tools/analysis/actionlint/default.nix
@@ -10,7 +10,7 @@
 
 buildGoModule rec {
   pname = "actionlint";
-  version = "1.6.27";
+  version = "1.7.1";
 
   subPackages = [ "cmd/actionlint" ];
 
@@ -18,10 +18,10 @@ buildGoModule rec {
     owner = "rhysd";
     repo = "actionlint";
     rev = "v${version}";
-    hash = "sha256-v8RuSsayIVA31ADLiAOcWwXY3HKjG15FZ/PHnY651Ac=";
+    hash = "sha256-nu3Bj85L68YFNE4loh548A8ik3NCj4V32FlDV8V6BEE=";
   };
 
-  vendorHash = "sha256-DhZHfcnLm700i0M4pcvwlPdynbLRnG5rYsp5CrIDybw=";
+  vendorHash = "sha256-ZREtrdHUD1B1Mogidp1y/kFTK+KR4qYJj1c/M+0utPM=";
 
   nativeBuildInputs = [ makeWrapper ronn installShellFiles ];
 
diff --git a/pkgs/development/tools/analysis/banana-vera/default.nix b/pkgs/development/tools/analysis/banana-vera/default.nix
index 03e26e5eaedee..8be5e84addf12 100644
--- a/pkgs/development/tools/analysis/banana-vera/default.nix
+++ b/pkgs/development/tools/analysis/banana-vera/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = {
     mainProgram = "vera++";
-    description = "A fork of vera using python3.10";
+    description = "Fork of vera using python3.10";
     homepage = "https://github.com/Epitech/banana-vera";
     license = lib.licenses.boost;
     maintainers = with lib.maintainers; [ sigmanificient ];
diff --git a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
index accb456f11920..88968be7b40e8 100644
--- a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
+++ b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tarpaulin";
-  version = "0.29.0";
+  version = "0.30.0";
 
   src = fetchFromGitHub {
     owner = "xd009642";
     repo = "tarpaulin";
     rev = version;
-    hash = "sha256-eLLnSfuFnvlarpFBkhq3eumIyXOuuYU9ZJHpsKt0WQE=";
+    hash = "sha256-RtkW2FDey049URmr0WGNYcz5sTZXIQ7dZL/OlIaKX20=";
   };
 
-  cargoHash = "sha256-bTflBJ5Rz2Xdip2ptUyGi+CpR0ZN0ggVutSk1S9nW1c=";
+  cargoHash = "sha256-HBpEMjc2FQvFqvvcCtxHJBj2waFau77t+m+1ZfomguA=";
 
   nativeBuildInputs = [
     pkg-config
@@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A code coverage tool for Rust projects";
+    description = "Code coverage tool for Rust projects";
     mainProgram = "cargo-tarpaulin";
     homepage = "https://github.com/xd009642/tarpaulin";
     changelog = "https://github.com/xd009642/tarpaulin/blob/${src.rev}/CHANGELOG.md";
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 1d0108049d764..7d893fcf04384 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "checkov";
-  version = "3.2.74";
+  version = "3.2.141";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = "checkov";
     rev = "refs/tags/${version}";
-    hash = "sha256-Ge0SCoZeBdEKGjvPXGzsYptKBzNWrUbjLEdNxsYUlcI=";
+    hash = "sha256-1EKqqKm0QB9tS5uaS7xMPoK/KDWRkJH1uW7yGiHLbNU=";
   };
 
   patches = [ ./flake8-compat-5.x.patch ];
@@ -23,6 +23,7 @@ python3.pkgs.buildPythonApplication rec {
     "bc-python-hcl2"
     "boto3"
     "botocore"
+    "cyclonedx-python-lib"
     "dpath"
     "igraph"
     "license-expression"
@@ -33,6 +34,7 @@ python3.pkgs.buildPythonApplication rec {
     "pycep-parser"
     "rustworkx"
     "termcolor"
+    "urllib3"
   ];
 
   pythonRemoveDeps = [
@@ -45,7 +47,6 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   nativeBuildInputs = with python3.pkgs; [
-    pythonRelaxDepsHook
   ];
 
   dependencies = with python3.pkgs; [
@@ -122,6 +123,8 @@ python3.pkgs.buildPythonApplication rec {
     "test_runner"
     # AssertionError: assert ['<?xml versi...
     "test_get_cyclonedx_report"
+    # Test fails on Hydra
+    "test_sast_js_filtered_files_by_ts"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 1565d7bdc546f..24b8e1715fc45 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenvNoCC, fetchurl, makeBinaryWrapper, jre }:
 
 stdenvNoCC.mkDerivation rec {
-  version = "10.16.0";
+  version = "10.17.0";
   pname = "checkstyle";
 
   src = fetchurl {
     url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
-    sha256 = "sha256-0Hmg7WnLAGy9YOipW7Oe6KQDxRiRqZ5eI3bKQGU0aQQ=";
+    sha256 = "sha256-UcNNc4UgwTidcZmKmrDm2r4NfPJiFJ8+AacpRJYGLkI=";
   };
 
   nativeBuildInputs = [ makeBinaryWrapper ];
diff --git a/pkgs/development/tools/analysis/clang-analyzer/default.nix b/pkgs/development/tools/analysis/clang-analyzer/default.nix
index 46e04aaf389f3..67a38a526be2f 100644
--- a/pkgs/development/tools/analysis/clang-analyzer/default.nix
+++ b/pkgs/development/tools/analysis/clang-analyzer/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, clang, llvmPackages, perl, makeWrapper, python3 }:
+{ lib, stdenv, clang, llvmPackages, perl, makeWrapper, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "clang-analyzer";
diff --git a/pkgs/development/tools/analysis/coan/default.nix b/pkgs/development/tools/analysis/coan/default.nix
index 7104074a6a747..94c45614ed844 100644
--- a/pkgs/development/tools/analysis/coan/default.nix
+++ b/pkgs/development/tools/analysis/coan/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, perl }:
+{ lib, stdenv, fetchurl, autoreconfHook, perl }:
 
 stdenv.mkDerivation rec {
   version = "6.0.1";
@@ -9,9 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "1d041j0nd1hc0562lbj269dydjm4rbzagdgzdnmwdxr98544yw44";
   };
 
-  nativeBuildInputs = [ perl ];
+  patches = [
+    # fix compile error in configure.ac
+    ./fix-big-endian-config-check.diff
+  ];
 
-  CXXFLAGS = "-std=c++11";
+  nativeBuildInputs = [ autoreconfHook perl ];
+
+  configureFlags = [ "CXXFLAGS=-std=c++11" ];
 
   enableParallelBuilding = true;
 
@@ -20,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "The C preprocessor chainsaw";
+    description = "C preprocessor chainsaw";
     mainProgram = "coan";
     longDescription = ''
       A software engineering tool for analysing preprocessor-based
diff --git a/pkgs/development/tools/analysis/coan/fix-big-endian-config-check.diff b/pkgs/development/tools/analysis/coan/fix-big-endian-config-check.diff
new file mode 100644
index 0000000000000..7a2965361da03
--- /dev/null
+++ b/pkgs/development/tools/analysis/coan/fix-big-endian-config-check.diff
@@ -0,0 +1,22 @@
+diff --git a/configure.ac b/configure.ac
+index 23ba6f0..13e6647 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4,7 +4,7 @@ AC_PREREQ(2.59)
+ AM_INIT_AUTOMAKE(1.13 no-define)
+ AC_CHECK_HEADERS(strings.h)
+ AC_MSG_CHECKING(for big-endian host)
+-AC_TRY_RUN([main () {
++AC_TRY_RUN([int main () {
+   /* Are we little or big endian?  From Harbison&amp;Steele.  */
+   union
+   {
+@@ -12,7 +12,7 @@ AC_TRY_RUN([main () {
+     char c[sizeof (long)];
+   } u;
+   u.l = 1;
+-  exit (u.c[sizeof (long) - 1] == 1);
++  return u.c[sizeof (long) - 1] == 1;
+ }], BIG_ENDIAN=no, BIG_ENDIAN=yes)
+ AC_MSG_RESULT([$BIG_ENDIAN])
+ AM_CONDITIONAL([IS_BIG_ENDIAN],[test "$BIG_ENDIAN" = "yes"])
diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix
index fdad4466f91b0..fa5881a1cb0c2 100644
--- a/pkgs/development/tools/analysis/codeql/default.nix
+++ b/pkgs/development/tools/analysis/codeql/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.17.1";
+  version = "2.17.5";
 
   dontConfigure = true;
   dontBuild = true;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
-    hash = "sha256-4S6xsxLGYdkdG9SrpqTiFAq5WZMQM2TbnT7c5mRV/kE=";
+    hash = "sha256-Ay+8NOYq1sBIDhCoju2/L8Ghegmxz5NmtpBLb0hqH/E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index 00fd9b08b1e13..bf30b47d54ee1 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -14,7 +14,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "cppcheck";
-  version = "2.14.0";
+  version = "2.14.1";
 
   outputs = [ "out" "man" ];
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "danmar";
     repo = "cppcheck";
     rev = finalAttrs.version;
-    hash = "sha256-w5k7WO2Kwx0ac/vP54ndPUp/AG6jG3MDf03h5z/+Cso=";
+    hash = "sha256-KXE3zmhaTweQhs0Qh7Xd5ILiuGVewtrvOkRkt8hjU58=";
   };
 
   nativeBuildInputs = [
@@ -72,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   meta = {
-    description = "A static analysis tool for C/C++ code";
+    description = "Static analysis tool for C/C++ code";
     homepage = "http://cppcheck.sourceforge.net";
     license = lib.licenses.gpl3Plus;
     longDescription = ''
diff --git a/pkgs/development/tools/analysis/cvehound/default.nix b/pkgs/development/tools/analysis/cvehound/default.nix
index 96f9b47d17bca..9eedade72dd9c 100644
--- a/pkgs/development/tools/analysis/cvehound/default.nix
+++ b/pkgs/development/tools/analysis/cvehound/default.nix
@@ -7,13 +7,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cvehound";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "evdenis";
     repo = "cvehound";
     rev = "refs/tags/${version}";
-    hash = "sha256-DnrFlDFJT74irvrNs/j7zwO76DYjTOuY0t+mu5c8gpk=";
+    hash = "sha256-UvjmlAm/8B4KfE9grvvgn37Rui+ZRfs2oTLqYYgqcUQ=";
   };
 
   makeWrapperArgs = [
diff --git a/pkgs/development/tools/analysis/emma/default.nix b/pkgs/development/tools/analysis/emma/default.nix
index a1804eafd8cf4..4a284ac0d6032 100644
--- a/pkgs/development/tools/analysis/emma/default.nix
+++ b/pkgs/development/tools/analysis/emma/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://emma.sourceforge.net/";
-    description = "A code coverage tool for Java";
+    description = "Code coverage tool for Java";
     sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
     platforms = lib.platforms.unix;
     license = lib.licenses.cpl10;
diff --git a/pkgs/development/tools/analysis/eresi/default.nix b/pkgs/development/tools/analysis/eresi/default.nix
index 3d5571ddea427..1b3cf09365022 100644
--- a/pkgs/development/tools/analysis/eresi/default.nix
+++ b/pkgs/development/tools/analysis/eresi/default.nix
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
                 ++ lib.optional stdenv.is64bit "install64";
 
   meta = {
-    description = "The ERESI Reverse Engineering Software Interface";
+    description = "ERESI Reverse Engineering Software Interface";
     license = lib.licenses.gpl2Only;
     homepage = "https://github.com/thorkill/eresi"; # Formerly http://www.eresi-project.org/
     platforms = lib.platforms.linux;
diff --git a/pkgs/development/tools/analysis/findbugs/default.nix b/pkgs/development/tools/analysis/findbugs/default.nix
index 63301622c1fb4..a3f52f8da092e 100644
--- a/pkgs/development/tools/analysis/findbugs/default.nix
+++ b/pkgs/development/tools/analysis/findbugs/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A static analysis tool to find bugs in Java programs automatically";
+    description = "Static analysis tool to find bugs in Java programs automatically";
     homepage = "https://findbugs.sourceforge.net/";
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; unix;
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 803b15e6a2aa7..0ae0c3559300c 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.235.1";
+  version = "0.237.2";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    hash = "sha256-aSL6C9MBn3fmuUrtWvb+6VBd1tpoIyqDXEqThGRNx7U=";
+    hash = "sha256-VL547H8cGxuhx5Ho5gRVl60CUQ5EcBuH+xoE0zM5m7A=";
   };
 
   postPatch = ''
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     ++ (with ocamlPackages; [ core_kernel dtoa fileutils lwt_log lwt_ppx ocaml_lwt ppx_deriving ppx_gen_rec ppx_let sedlex visitors wtf8 ] ++ lib.optionals stdenv.isLinux [ inotify ]);
 
   meta = with lib; {
-    description = "A static type checker for JavaScript";
+    description = "Static type checker for JavaScript";
     mainProgram = "flow";
     homepage = "https://flow.org/";
     changelog = "https://github.com/facebook/flow/blob/v${version}/Changelog.md";
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
index 26cd487d9ebed..87234ba584dbe 100644
--- a/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, writeText
+{ lib, stdenv, fetchurl, writeText
 , graphviz, doxygen
 , ocamlPackages, ltl2ba, coq, why3
 , gdk-pixbuf, wrapGAppsHook3
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
 
 
   meta = {
-    description = "An extensible and collaborative platform dedicated to source-code analysis of C software";
+    description = "Extensible and collaborative platform dedicated to source-code analysis of C software";
     homepage    = "http://frama-c.com/";
     license     = lib.licenses.lgpl21;
     maintainers = with lib.maintainers; [ thoughtpolice amiddelk ];
diff --git a/pkgs/development/tools/analysis/hopper/default.nix b/pkgs/development/tools/analysis/hopper/default.nix
index 2d28046033467..8fcaa144ab8c1 100644
--- a/pkgs/development/tools/analysis/hopper/default.nix
+++ b/pkgs/development/tools/analysis/hopper/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://www.hopperapp.com/index.html";
-    description = "A macOS and Linux Disassembler";
+    description = "MacOS and Linux Disassembler";
     license = licenses.unfree;
     maintainers = with maintainers; [
       Enteee
diff --git a/pkgs/development/tools/analysis/hotspot/default.nix b/pkgs/development/tools/analysis/hotspot/default.nix
index b0165266b1a05..f769ac1b28c6c 100644
--- a/pkgs/development/tools/analysis/hotspot/default.nix
+++ b/pkgs/development/tools/analysis/hotspot/default.nix
@@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A GUI for Linux perf";
+    description = "GUI for Linux perf";
     mainProgram = "hotspot";
     longDescription = ''
       hotspot is a GUI replacement for `perf report`.
diff --git a/pkgs/development/tools/analysis/jacoco/default.nix b/pkgs/development/tools/analysis/jacoco/default.nix
index 62835c61d0f30..4794e8474d6a8 100644
--- a/pkgs/development/tools/analysis/jacoco/default.nix
+++ b/pkgs/development/tools/analysis/jacoco/default.nix
@@ -7,12 +7,12 @@
 
 stdenv.mkDerivation rec {
   pname = "jacoco";
-  version = "0.8.11";
+  version = "0.8.12";
 
   src = fetchzip {
     url = "https://search.maven.org/remotecontent?filepath=org/jacoco/jacoco/${version}/jacoco-${version}.zip";
     stripRoot = false;
-    sha256 = "sha256-Sd4Kh5ts0IdHhd9vF1XZzZ2KFRb+rsnzpam6Ysxu910=";
+    sha256 = "sha256-7bN68fcUycehJDJeBAyCloz8rb3SXgjwmC9zpob8YdI=";
   };
 
   outputs = [ "out" "doc" ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A free code coverage library for Java";
+    description = "Free code coverage library for Java";
     mainProgram = "jacoco";
     homepage = "https://www.jacoco.org/jacoco";
     changelog = "https://www.jacoco.org/jacoco/trunk/doc/changes.html";
diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix
index 349b44730b8a2..c5e3b43eea061 100644
--- a/pkgs/development/tools/analysis/lcov/default.nix
+++ b/pkgs/development/tools/analysis/lcov/default.nix
@@ -1,18 +1,42 @@
- {lib, stdenv, fetchFromGitHub, perl, perlPackages, makeWrapper }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  perl,
+  python3,
+  perlPackages,
+  makeWrapper,
+}:
 
+let
+  perlDeps = [
+    perlPackages.CaptureTiny
+    perlPackages.DateTime
+    perlPackages.DateTimeFormatW3CDTF
+    perlPackages.DevelCover
+    perlPackages.GD
+    perlPackages.JSONXS
+    perlPackages.MemoryProcess
+    perlPackages.PathTools
+  ];
+in
 stdenv.mkDerivation rec {
   pname = "lcov";
-  version = "1.16";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "linux-test-project";
     repo = "lcov";
     rev = "v${version}";
-    sha256 = "sha256-X1T5OqR6NgTNGedH1on3+XZ7369007By6tRJK8xtmbk=";
+    hash = "sha256-QfA+mzLfpi2fuhcPvCKO7YnPef1GMhCbgBWdXFTXPzE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ perl ];
+
+  buildInputs = [
+    perl
+    python3
+  ];
 
   preBuild = ''
     patchShebangs bin/
@@ -20,26 +44,27 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    wrapProgram $out/bin/lcov --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.PerlIOgzip perlPackages.JSON ]}
-    wrapProgram $out/bin/genpng --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.GD ]}
+    for f in "$out"/bin/{gen*,lcov,perl2lcov}; do
+      wrapProgram "$f" --set PERL5LIB ${perlPackages.makeFullPerlPath perlDeps}
+    done
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Code coverage tool that enhances GNU gcov";
 
-    longDescription =
-      '' LCOV is an extension of GCOV, a GNU tool which provides information
-         about what parts of a program are actually executed (i.e.,
-         "covered") while running a particular test case.  The extension
-         consists of a set of PERL scripts which build on the textual GCOV
-         output to implement the following enhanced functionality such as
-         HTML output.
-      '';
+    longDescription = ''
+      LCOV is an extension of GCOV, a GNU tool which provides information
+      about what parts of a program are actually executed (i.e.,
+      "covered") while running a particular test case.  The extension
+      consists of a set of PERL scripts which build on the textual GCOV
+      output to implement the following enhanced functionality such as
+      HTML output.
+    '';
 
-    homepage = "https://ltp.sourceforge.net/coverage/lcov.php";
+    homepage = "https://github.com/linux-test-project/lcov";
     license = lib.licenses.gpl2Plus;
 
-    maintainers = with maintainers; [ dezgeg ];
-    platforms = platforms.all;
+    maintainers = with lib.maintainers; [ dezgeg ];
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/analysis/oclgrind/default.nix b/pkgs/development/tools/analysis/oclgrind/default.nix
index 74f856e23de03..a95c227fae768 100644
--- a/pkgs/development/tools/analysis/oclgrind/default.nix
+++ b/pkgs/development/tools/analysis/oclgrind/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "An OpenCL device simulator and debugger";
+    description = "OpenCL device simulator and debugger";
     homepage = "https://github.com/jrprice/oclgrind";
     license = licenses.bsd3;
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/analysis/panopticon/default.nix b/pkgs/development/tools/analysis/panopticon/default.nix
index 06fe22a42abd6..08dd8d397f984 100644
--- a/pkgs/development/tools/analysis/panopticon/default.nix
+++ b/pkgs/development/tools/analysis/panopticon/default.nix
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
      '';
 
   meta = with lib; {
-    description = "A libre cross-platform disassembler";
+    description = "Libre cross-platform disassembler";
     longDescription = ''
       Panopticon is a cross platform disassembler for reverse
       engineering written in Rust. It can disassemble AMD64,
diff --git a/pkgs/development/tools/analysis/pev/default.nix b/pkgs/development/tools/analysis/pev/default.nix
index a46bc067f11b6..75cdc15cdca0c 100644
--- a/pkgs/development/tools/analysis/pev/default.nix
+++ b/pkgs/development/tools/analysis/pev/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   installFlags = [ "prefix=$(out)" ];
 
   meta = with lib; {
-    description = "A full-featured, open source, multiplatform command line toolkit to work with PE (Portable Executables) binaries";
+    description = "Full-featured, open source, multiplatform command line toolkit to work with PE (Portable Executables) binaries";
     homepage = "https://pev.sourceforge.net/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ jeschli ];
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index f50fb16d8bc84..d8a300fb08d83 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "An extensible cross-language static code analyzer";
+    description = "Extensible cross-language static code analyzer";
     homepage = "https://pmd.github.io/";
     changelog = "https://pmd.github.io/pmd-${version}/pmd_release_notes.html";
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/analysis/qcachegrind/default.nix b/pkgs/development/tools/analysis/qcachegrind/default.nix
index 6a463c5660915..2d7e18d53e4cf 100644
--- a/pkgs/development/tools/analysis/qcachegrind/default.nix
+++ b/pkgs/development/tools/analysis/qcachegrind/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     broken = stdenv.isDarwin;
-    description = "A Qt GUI to visualize profiling data";
+    description = "Qt GUI to visualize profiling data";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ periklis ];
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 61ac7bbfe4640..8d75f994aee61 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , buildPackages
 , pkg-config
 , meson
@@ -30,8 +29,8 @@
 }:
 
 let
-  # FIXME: Compare revision with
-  # https://github.com/radareorg/radare2/blob/master/libr/arch/p/arm/v35/Makefile#L26-L27
+  # NOTE: Check these revision changes when updating the package.
+  # https://github.com/radareorg/radare2/blob/master/libr/arch/p/arm/v35/Makefile#L25-L26
   arm64 = fetchFromGitHub {
     owner = "radareorg";
     repo = "vector35-arch-arm64";
@@ -45,15 +44,15 @@ let
     hash = "sha256-YhfgJ7M8ys53jh1clOzj0I2yfJshXQm5zP0L9kMYsmk=";
   };
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "radare2";
-  version = "5.9.0";
+  version = "5.9.2";
 
   src = fetchFromGitHub {
     owner = "radare";
     repo = "radare2";
-    rev = "refs/tags/${version}";
-    hash = "sha256-h2IYOGr+yCgCJR1gB4jibcUt1A+8IuNVoTUcJ83lKHw=";
+    rev = "refs/tags/${finalAttrs.version}";
+    hash = "sha256-smsjGfTvSTVwd7nhWhptYpkus2fEQ2EVdT5bDt/rHZE=";
   };
 
   preBuild = ''
@@ -67,30 +66,27 @@ stdenv.mkDerivation rec {
   '';
 
   postFixup = lib.optionalString stdenv.isDarwin ''
-    install_name_tool -add_rpath $out/lib $out/lib/libr_io.${version}.dylib
+    install_name_tool -add_rpath $out/lib $out/lib/libr_io.${finalAttrs.version}.dylib
   '';
 
   mesonFlags = [
+   "-Dr2_gittap=${finalAttrs.version}"
    "-Duse_sys_capstone=true"
+   "-Duse_sys_lz4=true"
    "-Duse_sys_magic=true"
-   "-Duse_sys_zip=true"
+   "-Duse_sys_openssl=true"
    "-Duse_sys_xxhash=true"
-   "-Duse_sys_lz4=true"
-   "-Dr2_gittap=${version}"
+   "-Duse_sys_zip=true"
   ];
 
-  # TODO: remove when upstream fixes the issue
-  # https://github.com/radareorg/radare2/issues/22793
-  env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.isDarwin [
-     "-DTHREAD_CONVERT_THREAD_STATE_TO_SELF=1"
-  ]);
-
   enableParallelBuilding = true;
+
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   strictDeps = true;
 
   nativeBuildInputs = [ pkg-config meson ninja python3 ];
+
   buildInputs = [
     capstone
     file
@@ -114,11 +110,27 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "UNIX-like reverse engineering framework and command-line tools";
+    description = "UNIX-like reverse engineering framework and command-line toolset";
+    longDescription = ''
+      r2 is a complete rewrite of radare. It provides a set of libraries, tools
+      and plugins to ease reverse engineering tasks. Distributed mostly under
+      LGPLv3, each plugin can have different licenses.
+
+      The radare project started as a simple command-line hexadecimal editor
+      focused on forensics. Today, r2 is a featureful low-level command-line
+      tool with support for scripting with the embedded JavaScript interpreter
+      or via r2pipe.
+
+      r2 can edit files on local hard drives, view kernel memory, and debug
+      programs locally or via a remote gdb/windbg servers. r2's wide
+      architecture support allows you to analyze, emulate, debug, modify, and
+      disassemble any binary.
+    '';
     homepage = "https://radare.org";
-    changelog = "https://github.com/radareorg/radare2/releases/tag/${version}";
-    license = licenses.gpl2Plus;
+    changelog = "https://github.com/radareorg/radare2/releases/tag/${finalAttrs.version}";
+    license = with licenses; [ gpl3Only lgpl3Only ];
     maintainers = with maintainers; [ azahi raskin makefu mic92 arkivm ];
+    mainProgram = "radare2";
     platforms = platforms.unix;
   };
-}
+})
diff --git a/pkgs/development/tools/analysis/retdec/default.nix b/pkgs/development/tools/analysis/retdec/default.nix
index 95e95bb34babc..2448556aa62cc 100644
--- a/pkgs/development/tools/analysis/retdec/default.nix
+++ b/pkgs/development/tools/analysis/retdec/default.nix
@@ -227,7 +227,7 @@ stdenv.mkDerivation (self: {
   '';
 
   meta = with lib; {
-    description = "A retargetable machine-code decompiler based on LLVM";
+    description = "Retargetable machine-code decompiler based on LLVM";
     homepage = "https://retdec.com";
     license = licenses.mit;
     maintainers = with maintainers; [ dtzWill katrinafyi ];
diff --git a/pkgs/development/tools/analysis/rizin/default.nix b/pkgs/development/tools/analysis/rizin/default.nix
index c3f85d1940067..f83c3dcdcfac9 100644
--- a/pkgs/development/tools/analysis/rizin/default.nix
+++ b/pkgs/development/tools/analysis/rizin/default.nix
@@ -135,7 +135,7 @@ let rizin = stdenv.mkDerivation rec {
   };
 
   meta = {
-    description = "UNIX-like reverse engineering framework and command-line toolset.";
+    description = "UNIX-like reverse engineering framework and command-line toolset";
     homepage = "https://rizin.re/";
     license = lib.licenses.gpl3Plus;
     mainProgram = "rizin";
diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix
index 412b62593d271..3a2ecc4c6d48e 100644
--- a/pkgs/development/tools/analysis/rr/default.nix
+++ b/pkgs/development/tools/analysis/rr/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch
+{ lib, stdenv, fetchFromGitHub
 , cmake, pkg-config, which, makeWrapper
 , libpfm, zlib, python3Packages, procps, gdb, capnproto
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.7.0";
+  version = "5.8.0";
   pname = "rr";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "rr";
     rev = version;
-    hash = "sha256-n1Jbhr77bI0AXncY/RquNVSwwnnAXt31RmKtAa1/oHg=";
+    hash = "sha256-FudAAkWIe6gv4NYFoe9E0hlgTM70lymBE5Fw/vbehps=";
   };
 
   patches = [ ];
diff --git a/pkgs/development/tools/analysis/smatch/default.nix b/pkgs/development/tools/analysis/smatch/default.nix
index 7c4a497d04d17..93a74f2b4a6a7 100644
--- a/pkgs/development/tools/analysis/smatch/default.nix
+++ b/pkgs/development/tools/analysis/smatch/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=${placeholder "out"}" "CXX=${stdenv.cc.targetPrefix}c++" ];
 
   meta = with lib; {
-    description = "A semantic analysis tool for C";
+    description = "Semantic analysis tool for C";
     homepage = "https://sparse.docs.kernel.org/";
     maintainers = with maintainers; [ ];
     license = licenses.gpl2Plus;
diff --git a/pkgs/development/tools/analysis/snyk/default.nix b/pkgs/development/tools/analysis/snyk/default.nix
index dfaba8bc369ae..1c983d6bfd6dd 100644
--- a/pkgs/development/tools/analysis/snyk/default.nix
+++ b/pkgs/development/tools/analysis/snyk/default.nix
@@ -8,16 +8,16 @@
 
 buildNpmPackage rec {
   pname = "snyk";
-  version = "1.1287.0";
+  version = "1.1291.0";
 
   src = fetchFromGitHub {
     owner = "snyk";
     repo = "cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-d5MafGgxtecBzAkFxx+vi1a4ZQiVDJaISld7mQlNGFE=";
+    hash = "sha256-m70XujX2KOTvObjeBtoAbrYddi/+pLDLPXf/o+/DtmU=";
   };
 
-  npmDepsHash = "sha256-t+lYPVN/7mQak6A0VJUxnIj34iHB47nbcCV/dsO1/2E=";
+  npmDepsHash = "sha256-f7sY7eCF8k28UnGyKqOP/exhsZQzUC70nIIjEOXEeC4=";
 
   postPatch = ''
     substituteInPlace package.json \
diff --git a/pkgs/development/tools/analysis/stylelint/default.nix b/pkgs/development/tools/analysis/stylelint/default.nix
index 26bc3b7893feb..c2a216afea9a9 100644
--- a/pkgs/development/tools/analysis/stylelint/default.nix
+++ b/pkgs/development/tools/analysis/stylelint/default.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "stylelint";
-  version = "16.4.0";
+  version = "16.6.1";
 
   src = fetchFromGitHub {
     owner = "stylelint";
     repo = "stylelint";
     rev = version;
-    hash = "sha256-N689OjxUo3KPN3mfNQ1cKYoe8DXcVTNkUO4NuZPGuXI=";
+    hash = "sha256-wt9EVE3AAnOVJsDHG+qIXSqZ1I2MSITHjGpEGLPWOBY=";
   };
 
-  npmDepsHash = "sha256-V+hiUMenskHV+ccYysBDD5WoQH9vem+uEfQ5SWEdVFU=";
+  npmDepsHash = "sha256-+74oklREFCDEa8E0QDBlIzfW943AStJxfXkQDqRGFyo=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/development/tools/analysis/svlint/default.nix b/pkgs/development/tools/analysis/svlint/default.nix
index 07693196a956d..ef859f2a66a29 100644
--- a/pkgs/development/tools/analysis/svlint/default.nix
+++ b/pkgs/development/tools/analysis/svlint/default.nix
@@ -5,14 +5,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svlint";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-5fPra4kgvykeQnvRtO3enbMIzbh5+nDJ2x0aHYMGiww=";
+    sha256 = "sha256-u61gmkO7eij7r1A1RPk0ro+pml7ZmMsg0ukJLCFNaD0=";
   };
 
-  cargoHash = "sha256-R7jqFgMj4YjUbEObdRxxvataYMXe9wq8B8k+t7+Dv30=";
+  cargoHash = "sha256-HBfCTOETQ1hHzLFDw12W58omRmliiWDFGSrmr3PELD8=";
 
   cargoBuildFlags = [ "--bin" "svlint" ];
 
diff --git a/pkgs/development/tools/analysis/tartan/default.nix b/pkgs/development/tools/analysis/tartan/default.nix
deleted file mode 100644
index 1106d017cba19..0000000000000
--- a/pkgs/development/tools/analysis/tartan/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ stdenv
-, lib
-, fetchFromGitLab
-, meson
-, ninja
-, pkg-config
-, llvmPackages
-, gobject-introspection
-, glib
-, unstableGitUpdater
-}:
-
-stdenv.mkDerivation rec {
-  pname = "tartan";
-  version = "unstable-2021-12-23";
-
-  src = fetchFromGitLab {
-    domain = "gitlab.freedesktop.org";
-    owner = "tartan";
-    repo = "tartan";
-    rev = "bd4ea95d8b3ce1258491e9fac7fcc37d2b241a16";
-    sha256 = "l3duPt8Kh/JljzOV+Dm26XbS7gZ+mmFfYUYofWSJRyo=";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-  ];
-
-  buildInputs = [
-    gobject-introspection
-    glib
-    llvmPackages.libclang
-    llvmPackages.libllvm
-  ];
-
-  passthru = {
-    updateScript = unstableGitUpdater {
-      # The updater tries src.url by default, which does not exist for fetchFromGitLab (fetchurl).
-      url = "https://gitlab.freedesktop.org/tartan/tartan.git";
-    };
-  };
-
-  meta = with lib; {
-    broken = stdenv.isDarwin;
-    description = "Tools and Clang plugins for developing code with GLib";
-    homepage = "https://freedesktop.org/wiki/Software/tartan";
-    license = licenses.gpl3Plus;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ jtojnar ];
-  };
-}
diff --git a/pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-aws.nix b/pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-aws.nix
index 92a35d9b3bc3d..a765966e35cb8 100644
--- a/pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-aws.nix
+++ b/pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-aws.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "tflint-ruleset-aws";
-  version = "0.30.0";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-mgYvzxIzh/HibPM+BQoJ7dKqEifMcuoqfOIZU4KcRC4=";
+    hash = "sha256-1ttqSRz++xJdpJIQ+rSCiGFhN5EJwW6tbAporc8J0LU=";
   };
 
-  vendorHash = "sha256-JaOVNWF4JMXwGo+JVyknGZrd/M6F9c2PTgGadCqoRsk=";
+  vendorHash = "sha256-4QH/KehKBSNQhW8z/tk5ExAXKQNQ5Rl3RKyj+0jm/eI=";
 
   # upstream Makefile also does a  go test $(go list ./... | grep -v integration)
   preCheck = ''
diff --git a/pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-google.nix b/pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-google.nix
index a1382df1c4f0e..5fa8efd23a1c6 100644
--- a/pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-google.nix
+++ b/pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-google.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "tflint-ruleset-google";
-  version = "0.27.1";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-APdAm7gBEA6LHYV3u7j3HtFmzkUqeABqOj5q3rwPO40=";
+    hash = "sha256-cflmuvILMJX7jsz6OKPcaN/KezvWiqiv20Sw4vJ/mUk=";
   };
 
-  vendorHash = "sha256-n+nnftyNvCGVgEkYQIfVL7TS2QP8WpKb7l9jfeutJxw=";
+  vendorHash = "sha256-xxSOjnzqESCOWtXsAGuTwVEoinvBNuJFaxDrIVc1O08=";
 
   # upstream Makefile also does a go test $(go list ./... | grep -v integration)
   preCheck = ''
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index c5ded29ce9b50..93dbe645220a2 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.50.3";
+  version = "0.51.1";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PfPynSPuMhiyQW9f6HY2WDNlmtltU4xOo0A88I/bCuI=";
+    hash = "sha256-f2U/DK2yaJI0t125k0N4SHjNvSUYPtqTjR91EJnimGQ=";
   };
 
-  vendorHash = "sha256-HjvEbEfPVeqAVmVKCJHYPSZjZc19DV1HDaz/HcBJAUg=";
+  vendorHash = "sha256-xx/WF/yR++oB+7az9i/JkhYuOZsPoCBgYITqBR1Gv5c=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix
index e83ade1162854..28aa1e39e89e1 100644
--- a/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/pkgs/development/tools/analysis/tfsec/default.nix
@@ -1,17 +1,18 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
 }:
 
 buildGoModule rec {
   pname = "tfsec";
-  version = "1.28.5";
+  version = "1.28.6";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = "tfsec";
     rev = "refs/tags/v${version}";
-    hash = "sha256-zMOAXuMOuWzV5uqzNvw+2DiEA9o/80v7DW5KDhoT/fg=";
+    hash = "sha256-Dc6eXw1qGr2KxRoG3Odfa07s2SYdnxVbJHeVQdETBIs=";
   };
 
   ldflags = [
@@ -22,7 +23,7 @@ buildGoModule rec {
     # "-extldflags '-fno-PIC -static'"
   ];
 
-  vendorHash = "sha256-nBjlsDFjkqwFBwNnGk8WC+XM5xBuopyrloPlQyOReuY=";
+  vendorHash = "sha256-RxsoTNj/V1UgcMq7vbjGlkJCMEVyvfmSz2IPncs53hY=";
 
   subPackages = [
     "cmd/tfsec"
@@ -35,6 +36,9 @@ buildGoModule rec {
     homepage = "https://github.com/aquasecurity/tfsec";
     changelog = "https://github.com/aquasecurity/tfsec/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ fab peterromfeldhk ];
+    maintainers = with maintainers; [
+      fab
+      peterromfeldhk
+    ];
   };
 }
diff --git a/pkgs/development/tools/analysis/uefi-firmware-parser/default.nix b/pkgs/development/tools/analysis/uefi-firmware-parser/default.nix
deleted file mode 100644
index 9981ac8b0388f..0000000000000
--- a/pkgs/development/tools/analysis/uefi-firmware-parser/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, python3, fetchFromGitHub }:
-
-with python3.pkgs;
-
-buildPythonApplication rec {
-  pname = "uefi-firmware-parser";
-  version = "1.8";
-
-  # Version 1.8 is not published on pypi
-  src = fetchFromGitHub {
-    owner = "theopolis";
-    repo = "uefi-firmware-parser";
-    rev = "v${version}";
-    sha256 = "1yn9vi91j1yxkn0icdnjhgl0qrqqkzyhccj39af4f19q1gdw995l";
-  };
-
-  meta = with lib; {
-    homepage = "https://github.com/theopolis/uefi-firmware-parser/";
-    description = "Parse BIOS/Intel ME/UEFI firmware related structures: Volumes, FileSystems, Files, etc";
-    mainProgram = "uefi-firmware-parser";
-    # MIT + license headers in some files
-    license = with licenses; [
-      mit
-      zlib         # uefi_firmware/me.py
-      bsd2         # uefi_firmware/compression/Tiano/**/*
-      publicDomain # uefi_firmware/compression/LZMA/SDK/C/*
-    ];
-    platforms = [ "x86_64-linux" "aarch64-linux" ];
-    maintainers = [ maintainers.samueldr ];
-  };
-}
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index c8046b68cd96d..547f07d2ee6d3 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "valgrind";
-  version = "3.22.0";
+  version = "3.23.0";
 
   src = fetchurl {
     url = "https://sourceware.org/pub/${pname}/${pname}-${version}.tar.bz2";
-    hash = "sha256-yBHbWt0sX3KZRMr0fE56Zdyqu5Rh5HK1eHZd179tLUw=";
+    hash = "sha256-xcNKM4BFe5t1YG34kBAuffLHArlCDC6++VQPi11WJk0=";
   };
 
   patches = [
@@ -28,18 +28,19 @@ stdenv.mkDerivation rec {
     })
     # Fix build on armv7l.
     # https://bugs.kde.org/show_bug.cgi?id=454346
-    (fetchpatch {
-      url = "https://bugsfiles.kde.org/attachment.cgi?id=149172";
-      sha256 = "sha256-4MASLsEK8wcshboR4YOc6mIt7AvAgDPvqIZyHqlvTEs=";
-    })
-    (fetchpatch {
-      url = "https://bugsfiles.kde.org/attachment.cgi?id=149173";
-      sha256 = "sha256-jX9hD4utWRebbXMJYZ5mu9jecvdrNP05E5J+PnKRTyQ=";
-    })
-    (fetchpatch {
-      url = "https://bugsfiles.kde.org/attachment.cgi?id=149174";
-      sha256 = "sha256-f1YIFIhWhXYVw3/UNEWewDak2mvbAd3aGzK4B+wTlys=";
-    })
+    #   Applied on 3.22.0. Does not apply on 3.23.0.
+    #(fetchpatch {
+    #  url = "https://bugsfiles.kde.org/attachment.cgi?id=149172";
+    #  sha256 = "sha256-4MASLsEK8wcshboR4YOc6mIt7AvAgDPvqIZyHqlvTEs=";
+    #})
+    #(fetchpatch {
+    #  url = "https://bugsfiles.kde.org/attachment.cgi?id=149173";
+    #  sha256 = "sha256-jX9hD4utWRebbXMJYZ5mu9jecvdrNP05E5J+PnKRTyQ=";
+    #})
+    #(fetchpatch {
+    #  url = "https://bugsfiles.kde.org/attachment.cgi?id=149174";
+    #  sha256 = "sha256-f1YIFIhWhXYVw3/UNEWewDak2mvbAd3aGzK4B+wTlys=";
+    #})
   ];
 
   outputs = [ "out" "dev" "man" "doc" ];
diff --git a/pkgs/development/tools/apko/default.nix b/pkgs/development/tools/apko/default.nix
index 6a1ffc9376e26..879d88cf0a920 100644
--- a/pkgs/development/tools/apko/default.nix
+++ b/pkgs/development/tools/apko/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "apko";
-  version = "0.13.2";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "chainguard-dev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PGRbJ7znsjvh/ATBF8k+pMnRO8wvGY0PAVswVmFaBUc=";
+    hash = "sha256-O1lU3b3dNmFcV0Dfkpw63Eu6AgLSLBi7MbF47OsjgL4=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -24,7 +24,7 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorHash = "sha256-aqxXCqhvCGQKI+4FDjbqPNeFvELZviQ7Inwxl65sowk=";
+  vendorHash = "sha256-shnVJ6TcqWxUu1Ib2ewaz2VK4mi1Rt3R0Cmof9ilDJ4=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/apktool/default.nix b/pkgs/development/tools/apktool/default.nix
index 9af6d2c9f90b2..460d0686ff60e 100644
--- a/pkgs/development/tools/apktool/default.nix
+++ b/pkgs/development/tools/apktool/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     '';
 
   meta = with lib; {
-    description = "A tool for reverse engineering Android apk files";
+    description = "Tool for reverse engineering Android apk files";
     mainProgram = "apktool";
     homepage = "https://ibotpeaches.github.io/Apktool/";
     changelog = "https://github.com/iBotPeaches/Apktool/releases/tag/v${version}";
diff --git a/pkgs/development/tools/argc/default.nix b/pkgs/development/tools/argc/default.nix
deleted file mode 100644
index 89ee93b1c5d86..0000000000000
--- a/pkgs/development/tools/argc/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, installShellFiles
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "argc";
-  version = "1.14.0";
-
-  src = fetchFromGitHub {
-    owner = "sigoden";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-Li/K5/SLG6JuoRJDz2DQoj1Oi9LQgZWHNvtZ1HVbj88=";
-  };
-
-  cargoHash = "sha256-D1T9FWTvwKtAYoqFlR2OmLRLGWhPJ9D8J7lq/QKcBoM=";
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  postInstall = ''
-    installShellCompletion --cmd argc \
-      --bash <($out/bin/argc --argc-completions bash) \
-      --fish <($out/bin/argc --argc-completions fish) \
-      --zsh <($out/bin/argc --argc-completions zsh)
-  '';
-
-  meta = with lib; {
-    description = "A command-line options, arguments and sub-commands parser for bash";
-    mainProgram = "argc";
-    homepage = "https://github.com/sigoden/argc";
-    changelog = "https://github.com/sigoden/argc/releases/tag/v${version}";
-    license = with licenses; [ mit /* or */ asl20 ];
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/development/tools/asn2quickder/default.nix b/pkgs/development/tools/asn2quickder/default.nix
index 6a1bd5396fdcd..9300534209d8d 100644
--- a/pkgs/development/tools/asn2quickder/default.nix
+++ b/pkgs/development/tools/asn2quickder/default.nix
@@ -36,7 +36,7 @@ buildPythonApplication rec {
   doCheck = false; # Flaky tests
 
   meta = with lib; {
-    description = "An ASN.1 compiler with a backend for Quick DER";
+    description = "ASN.1 compiler with a backend for Quick DER";
     homepage = "https://gitlab.com/arpa2/quick-der";
     license = licenses.bsd3;
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/async-profiler/default.nix b/pkgs/development/tools/async-profiler/default.nix
deleted file mode 100644
index 57bb70c1dff1f..0000000000000
--- a/pkgs/development/tools/async-profiler/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, jdk, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "async-profiler";
-  version = "2.9";
-
-  src = fetchFromGitHub {
-    owner = "jvm-profiling-tools";
-    repo = "async-profiler";
-    rev = "v${version}";
-    sha256 = "sha256-ngLUg6Fq6Ay06klGa/y8lod8W6rYMqhMhXFn5OBCSpk=";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  buildInputs = [ jdk ];
-
-  installPhase = ''
-    runHook preInstall
-    install -D "$src/profiler.sh" "$out/bin/async-profiler"
-    install -D build/jattach "$out/bin/jattach"
-    install -D build/libasyncProfiler.so "$out/lib/libasyncProfiler.so"
-    install -D -t "$out/share/java/" build/*.jar
-    runHook postInstall
-  '';
-
-  fixupPhase = ''
-    substituteInPlace $out/bin/async-profiler \
-      --replace 'JATTACH=$SCRIPT_DIR/build/jattach' \
-                'JATTACH=${placeholder "out"}/bin/jattach' \
-      --replace 'PROFILER=$SCRIPT_DIR/build/libasyncProfiler.so' \
-                'PROFILER=${placeholder "out"}/lib/libasyncProfiler.so'
-
-    wrapProgram $out/bin/async-profiler --prefix PATH : ${lib.makeBinPath [ jdk ]}
-  '';
-
-  meta = with lib; {
-    description = "A low overhead sampling profiler for Java that does not suffer from Safepoint bias problem";
-    homepage    = "https://github.com/jvm-profiling-tools/async-profiler";
-    license     = licenses.asl20;
-    maintainers = with maintainers; [ mschuwalow ];
-    platforms   = platforms.all;
-  };
-}
diff --git a/pkgs/development/tools/async/default.nix b/pkgs/development/tools/async/default.nix
index ba6b62281eb8a..ae5a1d8256756 100644
--- a/pkgs/development/tools/async/default.nix
+++ b/pkgs/development/tools/async/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "0y2q46i838gha58p95vcv5r5i14il1kv86k35s30ncfibijgp0lc";
 
   meta = with lib; {
-    description = "A tool to parallelize shell commands";
+    description = "Tool to parallelize shell commands";
     mainProgram = "async";
     longDescription = ''
       `async` is a tool to run shell commands in parallel and is designed to be
diff --git a/pkgs/development/tools/aws-sam-cli/default.nix b/pkgs/development/tools/aws-sam-cli/default.nix
index 5f359f5cb16d0..e94a98a6a96a8 100644
--- a/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/pkgs/development/tools/aws-sam-cli/default.nix
@@ -10,7 +10,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "aws-sam-cli";
-  version = "1.115.0";
+  version = "1.119.0";
   pyproject = true;
 
   disabled = python3.pythonOlder "3.8";
@@ -19,14 +19,17 @@ python3.pkgs.buildPythonApplication rec {
     owner = "aws";
     repo = "aws-sam-cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-VYcgKnTNMuF4lMjoyHk0mDYTngFIouqnPZXpZ5gt9hQ=";
+    hash = "sha256-0H1C2z01nwJtlSNjTCi2bH6ExBnmn8xNXD/jzYFxvCs=";
   };
 
   build-system = with python3.pkgs; [
-    pythonRelaxDepsHook
     setuptools
   ];
 
+  nativeBuildInputs = with python3.pkgs; [
+    pythonRelaxDepsHook
+  ];
+
   pythonRelaxDeps = [
     "aws-lambda-builders"
     "aws-sam-translator"
@@ -36,10 +39,12 @@ python3.pkgs.buildPythonApplication rec {
     "docker"
     "jsonschema"
     "pyopenssl"
+    "requests"
     "rich"
     "ruamel-yaml"
     "tomlkit"
     "tzlocal"
+    "watchdog"
   ];
 
   dependencies = with python3.pkgs; [
diff --git a/pkgs/development/tools/azcopy/default.nix b/pkgs/development/tools/azcopy/default.nix
index b6074198be3ce..2ca6ed71c2730 100644
--- a/pkgs/development/tools/azcopy/default.nix
+++ b/pkgs/development/tools/azcopy/default.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "azure-storage-azcopy";
-  version = "10.24.0";
+  version = "10.25.0";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-storage-azcopy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-K/Q0vlcMX6YKjvdWNzsJe1uUSS9WY8pN6SD5yiVF1Sg=";
+    hash = "sha256-OjNezXjC9SyRV+8CDkKtIm7Mzks+Quuj92M7tR0LZX0=";
   };
 
   subPackages = [ "." ];
 
-  vendorHash = "sha256-VWSr7K2WrBY4jzFv8B9ocp7GdBxTBSePMX8mLeSbKow=";
+  vendorHash = "sha256-/SNQl80szkOZwtRHVxyAmapCFxDwQBM0Go6p0ILrKRM=";
 
   doCheck = false;
 
@@ -26,7 +26,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "The new Azure Storage data transfer utility - AzCopy v10";
+    description = "New Azure Storage data transfer utility - AzCopy v10";
     homepage = "https://github.com/Azure/azure-storage-azcopy";
     changelog = "https://github.com/Azure/azure-storage-azcopy/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/azure-static-sites-client/versions.json b/pkgs/development/tools/azure-static-sites-client/versions.json
index 6c672039bd721..c2bd3989b8bc6 100644
--- a/pkgs/development/tools/azure-static-sites-client/versions.json
+++ b/pkgs/development/tools/azure-static-sites-client/versions.json
@@ -1,58 +1,58 @@
 [
   {
     "version": "latest",
-    "buildId": "1.0.026361",
-    "publishDate": "2024-03-20T18:04:43.3376902Z",
+    "buildId": "1.0.026911",
+    "publishDate": "2024-05-15T19:23:23.3973684Z",
     "files": {
       "linux-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026361/linux/StaticSitesClient",
-        "sha": "e7430ccd96669bbb91204affa5bc313dc6af1f848d704dd7dacf9a2927b3d130"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026911/linux/StaticSitesClient",
+        "sha": "e1d9e033c973a35f64b7e41b6a114bd8e48022c9c3f7676e79047e87245a874d"
       },
       "win-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026361/windows/StaticSitesClient.exe",
-        "sha": "f3e2e686f742029a7b641e7cc6d3727398fbe783505df8cf75c334da980d2cd4"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026911/windows/StaticSitesClient.exe",
+        "sha": "c67e5eed2b28fcf5c98348732653d1e2b37d842e6dde9a6b30322832c5d86fc7"
       },
       "osx-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026361/macOS/StaticSitesClient",
-        "sha": "85bc201ed956ec41bc0a730dc5652c3c8bded946ebcf1c1ff31350490118a324"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026911/macOS/StaticSitesClient",
+        "sha": "18ca42a1b13db9b8b6db6bd8c77e65def56fa7bf3ce3fb1184e890d8cd7dd033"
       }
     }
   },
   {
     "version": "stable",
-    "buildId": "1.0.026361",
-    "publishDate": "2024-03-20T18:04:43.3376902Z",
+    "buildId": "1.0.026911",
+    "publishDate": "2024-05-15T19:23:23.3973684Z",
     "files": {
       "linux-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026361/linux/StaticSitesClient",
-        "sha": "e7430ccd96669bbb91204affa5bc313dc6af1f848d704dd7dacf9a2927b3d130"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026911/linux/StaticSitesClient",
+        "sha": "e1d9e033c973a35f64b7e41b6a114bd8e48022c9c3f7676e79047e87245a874d"
       },
       "win-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026361/windows/StaticSitesClient.exe",
-        "sha": "f3e2e686f742029a7b641e7cc6d3727398fbe783505df8cf75c334da980d2cd4"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026911/windows/StaticSitesClient.exe",
+        "sha": "c67e5eed2b28fcf5c98348732653d1e2b37d842e6dde9a6b30322832c5d86fc7"
       },
       "osx-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026361/macOS/StaticSitesClient",
-        "sha": "85bc201ed956ec41bc0a730dc5652c3c8bded946ebcf1c1ff31350490118a324"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026911/macOS/StaticSitesClient",
+        "sha": "18ca42a1b13db9b8b6db6bd8c77e65def56fa7bf3ce3fb1184e890d8cd7dd033"
       }
     }
   },
   {
     "version": "backup",
-    "buildId": "1.0.026164",
-    "publishDate": "2024-02-29T20:38:30.619614Z",
+    "buildId": "1.0.026792",
+    "publishDate": "2024-05-03T18:31:36.0288058Z",
     "files": {
       "linux-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026164/linux/StaticSitesClient",
-        "sha": "7b2d674a63fb0cb1ee39b84348260755c872a2922d03c0ee55eea1c8eb385524"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026792/linux/StaticSitesClient",
+        "sha": "a9dcd998d22a3476fb97fe1c446e83cc7f060a3a36cdb6757b828d0facc42347"
       },
       "win-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026164/windows/StaticSitesClient.exe",
-        "sha": "57f8db0e48c772f4eadd9cbab1996354ecdf193f0d123df02dfa4a7eb6398a15"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026792/windows/StaticSitesClient.exe",
+        "sha": "15f03e3f91208db2ea4015c4fce0623a692da1a289f23a782578ab7bc8a810e2"
       },
       "osx-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026164/macOS/StaticSitesClient",
-        "sha": "fd0e8fe34ba0776c1fc44a8e66017b3abe33b044f429a95e6863919e920bf555"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.026792/macOS/StaticSitesClient",
+        "sha": "454b10f0351694ec3475a3d85b8746356932b2061a5be7e7fc093a6509cf000c"
       }
     }
   }
diff --git a/pkgs/development/tools/b4/default.nix b/pkgs/development/tools/b4/default.nix
index a4de4f93ce558..aebe38d88b7e8 100644
--- a/pkgs/development/tools/b4/default.nix
+++ b/pkgs/development/tools/b4/default.nix
@@ -23,7 +23,7 @@ python3Packages.buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://git.kernel.org/pub/scm/utils/b4/b4.git/about";
     license = licenses.gpl2Only;
-    description = "A helper utility to work with patches made available via a public-inbox archive";
+    description = "Helper utility to work with patches made available via a public-inbox archive";
     mainProgram = "b4";
     maintainers = with maintainers; [ jb55 qyliss mfrw ];
   };
diff --git a/pkgs/development/tools/backblaze-b2/default.nix b/pkgs/development/tools/backblaze-b2/default.nix
index 2021604637a19..b7e2265c49157 100644
--- a/pkgs/development/tools/backblaze-b2/default.nix
+++ b/pkgs/development/tools/backblaze-b2/default.nix
@@ -10,18 +10,19 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "backblaze-b2";
-  version = "3.19.1";
+  version = "4.0.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Backblaze";
     repo = "B2_Command_Line_Tool";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/P1cgAC+a2YCcvbsysYdD+fEwibo+GyE0XY4A0+gMh4=";
+    hash = "sha256-rZUWPSI7CrKOdEKdsSpekwBerbIMf2iiVrWkV8WrqSc=";
   };
 
-  nativeBuildInputs = [
+  nativeBuildInputs = with python3Packages; [
     installShellFiles
+    argcomplete
   ];
 
   build-system = with python3Packages; [
@@ -77,8 +78,8 @@ python3Packages.buildPythonApplication rec {
   ''
   + ''
     installShellCompletion --cmd ${execName} \
-      --bash <(${python3Packages.argcomplete}/bin/register-python-argcomplete ${execName}) \
-      --zsh <(${python3Packages.argcomplete}/bin/register-python-argcomplete ${execName})
+      --bash <(register-python-argcomplete ${execName}) \
+      --zsh <(register-python-argcomplete ${execName})
   '';
 
   passthru.tests.version = (testers.testVersion {
diff --git a/pkgs/development/tools/bacon/default.nix b/pkgs/development/tools/bacon/default.nix
index 8e4816a859a39..d3341c19e167f 100644
--- a/pkgs/development/tools/bacon/default.nix
+++ b/pkgs/development/tools/bacon/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bacon";
-  version = "2.16.0";
+  version = "2.18.2";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-lYj6WIb8HvOO/RlxeTzD3r7Jjfx4mDqZ9VKo0chvooU=";
+    hash = "sha256-hW37pz7iLkBspnQ0ckfVdZUKppXUPrgjHgwmlhsanlI=";
   };
 
-  cargoHash = "sha256-G3IfxIhQ1t47ZhndTBmcUZNXHYehaaMVgIjBuD71zHE=";
+  cargoHash = "sha256-5o7TtqJh2CRwTrBU2Xbdh7qae5iWVlUfg4ddzxYepmU=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     CoreServices
diff --git a/pkgs/development/tools/bazel-gazelle/default.nix b/pkgs/development/tools/bazel-gazelle/default.nix
index 6b0a0d09eba23..030b02b1b5265 100644
--- a/pkgs/development/tools/bazel-gazelle/default.nix
+++ b/pkgs/development/tools/bazel-gazelle/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "bazel-gazelle";
-  version = "0.36.0";
+  version = "0.37.0";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-jT+h3ehaqA6LLg2Q5JdWeHPwUomRDIapNALwa7nFDJ4=";
+    hash = "sha256-YtgqhwPpkw+lPgsBDCDxkcNsSu1/ZoIhXMuQeZgLXNU=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/bazelisk/default.nix b/pkgs/development/tools/bazelisk/default.nix
index 8ca8b416c7023..41bc278d805c2 100644
--- a/pkgs/development/tools/bazelisk/default.nix
+++ b/pkgs/development/tools/bazelisk/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "bazelisk";
-  version = "1.19.0";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-no1+sQ+8Ead1diCYytC3MXVA68SuWWxt40OFVrGWYdQ=";
+    sha256 = "sha256-UNrfLuSadkP3GBlFMg2V3mK/GSNlyvIxeHnkTuPjfy4=";
   };
 
   vendorHash = "sha256-hjV7Pc3DFExSCsA0jKVxb1GxoXQ7LRFGuot3V0IHG58=";
@@ -18,7 +18,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" "-X main.BazeliskVersion=${version}" ];
 
   meta = with lib; {
-    description = "A user-friendly launcher for Bazel";
+    description = "User-friendly launcher for Bazel";
     mainProgram = "bazelisk";
     longDescription = ''
       BEWARE: This package does not work on NixOS.
diff --git a/pkgs/development/tools/bearer/default.nix b/pkgs/development/tools/bearer/default.nix
index e735df3120294..30f7defdfe428 100644
--- a/pkgs/development/tools/bearer/default.nix
+++ b/pkgs/development/tools/bearer/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "bearer";
-  version = "1.43.2";
+  version = "1.43.8";
 
   src = fetchFromGitHub {
     owner = "bearer";
     repo = "bearer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-F7BToROR8mcINmIVz7J6xRSyLDKQyUyp7o1yQVVHdp0=";
+    hash = "sha256-rDmS13eDPYE/UmyCRsBi1wHOZerYf9QS/pOiPKVxwKA=";
   };
 
-  vendorHash = "sha256-g0AnL6r3dUfCIAytTknAD5aCPBsohDUMNfMAYKBebi4=";
+  vendorHash = "sha256-7rTbLnFfdmRQgQfx2w/mO3Ac5ENEFm5XPzApKwlImkE=";
 
   subPackages = [ "cmd/bearer" ];
 
diff --git a/pkgs/development/tools/benthos/default.nix b/pkgs/development/tools/benthos/default.nix
index 850adc445bad2..26c03f7fa6584 100644
--- a/pkgs/development/tools/benthos/default.nix
+++ b/pkgs/development/tools/benthos/default.nix
@@ -5,18 +5,18 @@
 
 buildGoModule rec {
   pname = "benthos";
-  version = "4.26.0";
+  version = "4.27.0";
 
   src = fetchFromGitHub {
     owner = "benthosdev";
     repo = "benthos";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xFh0dmiLkU/o14OCefARtvkdN4Z1hzMfamyyB/mhf9s=";
+    hash = "sha256-Jswy4Ku/dxIEfC+jNjLXu/WW24enc4Qn0vrOHvNDVYQ=";
   };
 
   proxyVendor = true;
 
-  vendorHash = "sha256-Ce2vXPKbyj517N3uJEGc00hCVZhcRrPvXUSuK+jjK3U=";
+  vendorHash = "sha256-6CVDhy29bIn19EgKbKDNTBWdy+i18g0oz/NxABcQ6QE=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/bingo/default.nix b/pkgs/development/tools/bingo/default.nix
index 9d9863ca32036..9af3b77dfbffb 100644
--- a/pkgs/development/tools/bingo/default.nix
+++ b/pkgs/development/tools/bingo/default.nix
@@ -22,7 +22,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
-    description = "Like `go get` but for Go tools! CI Automating versioning of Go binaries in a nested, isolated Go modules.";
+    description = "Like `go get` but for Go tools! CI Automating versioning of Go binaries in a nested, isolated Go modules";
     mainProgram = "bingo";
     homepage = "https://github.com/bwplotka/bingo";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/biome/default.nix b/pkgs/development/tools/biome/default.nix
index 2072adf226419..5674846952518 100644
--- a/pkgs/development/tools/biome/default.nix
+++ b/pkgs/development/tools/biome/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "biome";
-  version = "1.6.3";
+  version = "1.7.3";
 
   src = fetchFromGitHub {
     owner = "biomejs";
     repo = "biome";
     rev = "cli/v${version}";
-    hash = "sha256-DooUOp+fr5oOrx04SLlTGro8xc2LieVPNtdvDyTLL/s=";
+    hash = "sha256-iSL0PRHj32PpKoUogej0bc/zXGpS4ZgZG/+9Pewhl4k=";
   };
 
-  cargoHash = "sha256-zMMfLDhiqG8Ahe+7PFjpOtwaBXbKkLDIIoHS329/4uQ=";
+  cargoHash = "sha256-no6ZrH1Ma+n66SLgA3h9dQX8FgeVjFVkxfqR35F/prs=";
 
   nativeBuildInputs = [
     pkg-config
@@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoBuildFlags = [ "-p=biome_cli" ];
   cargoTestFlags = cargoBuildFlags ++
-    # skip a broken test from v1.6.3 release
+    # skip a broken test from v1.7.3 release
     # this will be removed on the next version
     [ "-- --skip=diagnostics::test::termination_diagnostic_size" ];
 
diff --git a/pkgs/development/tools/bloaty/default.nix b/pkgs/development/tools/bloaty/default.nix
index 147d882d50af2..f9b133f2aaa79 100644
--- a/pkgs/development/tools/bloaty/default.nix
+++ b/pkgs/development/tools/bloaty/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "a size profiler for binaries";
+    description = "Size profiler for binaries";
     mainProgram = "bloaty";
     homepage = "https://github.com/google/bloaty";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/bloom/default.nix b/pkgs/development/tools/bloom/default.nix
index dc0a35d065421..1b977e33027b2 100644
--- a/pkgs/development/tools/bloom/default.nix
+++ b/pkgs/development/tools/bloom/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     description = "Debug interface for AVR-based embedded systems development on GNU/Linux";
     homepage = "https://bloom.oscillate.io/";
     license = lib.licenses.lgpl3Only;
-    maintainers = with lib.maintainers; [ eclairevoyant ];
+    maintainers = with lib.maintainers; [ ];
     mainProgram = "bloom";
     platforms = lib.platforms.linux;
   };
diff --git a/pkgs/development/tools/bodyclose/default.nix b/pkgs/development/tools/bodyclose/default.nix
index 6f8686a7b7b1e..9072fe4c10454 100644
--- a/pkgs/development/tools/bodyclose/default.nix
+++ b/pkgs/development/tools/bodyclose/default.nix
@@ -1,23 +1,26 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
+, unstableGitUpdater
 }:
 
-buildGoModule rec {
+buildGoModule {
   pname = "bodyclose";
-  version = "2023-04-21";
+  version = "0-unstable-2024-01-26";
 
   src = fetchFromGitHub {
     owner = "timakin";
     repo = "bodyclose";
-    rev = "574207250966ef48b7c65325648b17ff2c3a900a";
-    hash = "sha256-qUt8uOk1vgj2rtzTevGh9c4McxbFKgEw83pq7IAlRdg=";
+    rev = "f835fa56326ac81b2d54408f1a3a6c43bca4d5aa";
+    hash = "sha256-yPvBDJx6ECrSLDazdNDRl79iogsZO2qNWHuUuwQoRHU=";
   };
 
-  vendorHash = "sha256-TSYaY7Rg0ZoXdIN1sTNmgjC4PcVcgwSTuE43FYbzlAs=";
+  vendorHash = "sha256-8grdJuV8aSETsJr2VazC/3ctfnGh3UgjOWD4/xf3uC8=";
 
   ldflags = [ "-s" "-w" ];
 
+  passthru.updateScript = unstableGitUpdater {};
+
   meta = with lib; {
     description = "Golang linter to check whether HTTP response body is closed and a re-use of TCP connection is not blocked";
     mainProgram = "bodyclose";
diff --git a/pkgs/development/tools/boomerang/default.nix b/pkgs/development/tools/boomerang/default.nix
index 0e67ab90c5239..e0e6823b0a27f 100644
--- a/pkgs/development/tools/boomerang/default.nix
+++ b/pkgs/development/tools/boomerang/default.nix
@@ -32,7 +32,7 @@ mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/BoomerangDecompiler/boomerang";
     license = licenses.bsd3;
-    description = "A general, open source, retargetable decompiler";
+    description = "General, open source, retargetable decompiler";
     maintainers = with maintainers; [ dtzWill ];
   };
 }
diff --git a/pkgs/development/tools/boost-build/default.nix b/pkgs/development/tools/boost-build/default.nix
index 6b485b80ea1c0..a74b029d327ad 100644
--- a/pkgs/development/tools/boost-build/default.nix
+++ b/pkgs/development/tools/boost-build/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation {
   installPhase = ''
     runHook preInstall
 
-    ./b2 install --prefix="$out"
+    ./b2 ${lib.optionalString (stdenv.cc.isClang) "toolset=clang "}install --prefix="$out"
 
     # older versions of b2 created this symlink,
     # which we want to support building via useBoost.
diff --git a/pkgs/development/tools/buf/default.nix b/pkgs/development/tools/buf/default.nix
index 603c0865419ce..3edfe7aea5746 100644
--- a/pkgs/development/tools/buf/default.nix
+++ b/pkgs/development/tools/buf/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
-, protobuf
+, protobuf_26
 , git
 , testers
 , buf
@@ -10,20 +10,19 @@
 
 buildGoModule rec {
   pname = "buf";
-  version = "1.31.0";
+  version = "1.32.2";
 
   src = fetchFromGitHub {
     owner = "bufbuild";
-    repo = pname;
+    repo = "buf";
     rev = "v${version}";
-    hash = "sha256-CNt7ZfUMRQNNVusaBgEW64WH1TFYz8yEBfKksGVRVUM=";
+    hash = "sha256-lSK1ETeCnK/NeCHaZoHcgFO5OhbE6XcvbJg1+p9x4Hg=";
   };
 
-  vendorHash = "sha256-kagSvwxVE+URRY2C5tRtdRwtHBIdQh3BWUG1b3+L8Os=";
+  vendorHash = "sha256-LMjDR8tTZPLiIKxvdGjeaVMOh76eYhmAlI7lDJ7HG7I=";
 
   patches = [
-    # Skip a test that requires networking to be available to work,
-    # and a test which requires the source checkout to be part of a git repository
+    # Skip a test that requires networking to be available to work.
     ./skip_broken_tests.patch
   ];
 
@@ -33,7 +32,11 @@ buildGoModule rec {
 
   nativeCheckInputs = [
     git # Required for TestGitCloner
-    protobuf # Required for buftesting.GetProtocFilePaths
+    protobuf_26 # Required for buftesting.GetProtocFilePaths
+  ];
+
+  checkFlags = [
+    "-skip=TestWorkspaceGit"
   ];
 
   preCheck = ''
@@ -74,5 +77,6 @@ buildGoModule rec {
     description = "Create consistent Protobuf APIs that preserve compatibility and comply with design best-practices";
     license = licenses.asl20;
     maintainers = with maintainers; [ jk lrewega ];
+    mainProgram = "buf";
   };
 }
diff --git a/pkgs/development/tools/buf/skip_broken_tests.patch b/pkgs/development/tools/buf/skip_broken_tests.patch
index c25f8c8c93043..8bde6a9f70bfd 100644
--- a/pkgs/development/tools/buf/skip_broken_tests.patch
+++ b/pkgs/development/tools/buf/skip_broken_tests.patch
@@ -1,21 +1,8 @@
-diff --git a/private/buf/cmd/buf/workspace_unix_test.go b/private/buf/cmd/buf/workspace_unix_test.go
-index 22c84385..22548555 100644
---- a/private/buf/cmd/buf/workspace_unix_test.go
-+++ b/private/buf/cmd/buf/workspace_unix_test.go
-@@ -93,6 +93,8 @@ func TestWorkspaceAbsoluteFail(t *testing.T) {
- // Workflow run: https://github.com/bufbuild/buf/actions/runs/6510804063/job/17685247791.
- // Potential fix: https://stackoverflow.com/questions/22575662/filename-too-long-in-git-for-windows.
- func TestWorkspaceGit(t *testing.T) {
-+	// Fails because the source checkout is not part of a git repository while building with nix
-+	t.Skip()
- 	// Directory paths specified as a git reference within a workspace.
- 	t.Parallel()
- 	testRunStdout(
-diff --git a/private/bufpkg/buftesting/buftesting.go b/private/bufpkg/buftesting/buftesting.go
-index d9e1fdc6..6e08c439 100644
---- a/private/bufpkg/buftesting/buftesting.go
-+++ b/private/bufpkg/buftesting/buftesting.go
-@@ -104,6 +104,10 @@ func RunActualProtoc(
+diff --git a/private/buf/buftesting/buftesting.go b/private/buf/buftesting/buftesting.go
+index 1c650077..5422f703 100644
+--- a/private/buf/buftesting/buftesting.go
++++ b/private/buf/buftesting/buftesting.go
+@@ -106,6 +106,10 @@ func RunActualProtoc(
  
  // GetGoogleapisDirPath gets the path to a clone of googleapis.
  func GetGoogleapisDirPath(t *testing.T, buftestingDirPath string) string {
diff --git a/pkgs/development/tools/build-managers/alire/default.nix b/pkgs/development/tools/build-managers/alire/default.nix
index b7613fe6e0452..cfa6e58ff3a0f 100644
--- a/pkgs/development/tools/build-managers/alire/default.nix
+++ b/pkgs/development/tools/build-managers/alire/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , gprbuild
 , gnat
 }:
@@ -44,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   meta = {
-    description = "A source-based package manager for the Ada and SPARK programming languages";
+    description = "Source-based package manager for the Ada and SPARK programming languages";
     homepage = "https://alire.ada.dev";
     changelog = "https://github.com/alire-project/alire/releases/tag/v${finalAttrs.version}";
     license = lib.licenses.gpl3Only;
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index 9e3ff98f285d2..17f750a9450c7 100644
--- a/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -80,7 +80,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://ant.apache.org/";
-    description = "A Java-based build tool";
+    description = "Java-based build tool";
     mainProgram = "ant";
 
     longDescription = ''
diff --git a/pkgs/development/tools/build-managers/apache-maven/build-package.nix b/pkgs/development/tools/build-managers/apache-maven/build-package.nix
deleted file mode 100644
index df5d67cb42e6b..0000000000000
--- a/pkgs/development/tools/build-managers/apache-maven/build-package.nix
+++ /dev/null
@@ -1,96 +0,0 @@
-{ lib
-, stdenv
-, maven
-}:
-
-{ src
-, sourceRoot ? null
-, buildOffline ? false
-, patches ? [ ]
-, pname
-, version
-, mvnHash ? ""
-, mvnFetchExtraArgs ? { }
-, mvnDepsParameters ? ""
-, manualMvnArtifacts ? [ ]
-, manualMvnSources ? [ ]
-, mvnParameters ? ""
-, ...
-} @args:
-
-# originally extracted from dbeaver
-# created to allow using maven packages in the same style as rust
-
-let
-  fetchedMavenDeps = stdenv.mkDerivation ({
-    name = "${pname}-${version}-maven-deps";
-    inherit src sourceRoot patches;
-
-    nativeBuildInputs = [
-      maven
-    ] ++ args.nativeBuildInputs or [ ];
-
-    buildPhase = ''
-      runHook preBuild
-    '' + lib.optionalString buildOffline ''
-      mvn de.qaware.maven:go-offline-maven-plugin:1.2.8:resolve-dependencies -Dmaven.repo.local=$out/.m2 ${mvnDepsParameters}
-
-      for artifactId in ${builtins.toString manualMvnArtifacts}
-      do
-        echo "downloading manual $artifactId"
-        mvn dependency:get -Dartifact="$artifactId" -Dmaven.repo.local=$out/.m2
-      done
-
-      for artifactId in ${builtins.toString manualMvnSources}
-      do
-        group=$(echo $artifactId | cut -d':' -f1)
-        artifact=$(echo $artifactId | cut -d':' -f2)
-        echo "downloading manual sources $artifactId"
-        mvn dependency:sources -DincludeGroupIds="$group" -DincludeArtifactIds="$artifact" -Dmaven.repo.local=$out/.m2
-      done
-    '' + lib.optionalString (!buildOffline) ''
-      mvn package -Dmaven.repo.local=$out/.m2 ${mvnParameters}
-    '' + ''
-      runHook postBuild
-    '';
-
-    # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
-    installPhase = ''
-      runHook preInstall
-
-      find $out -type f \( \
-        -name \*.lastUpdated \
-        -o -name resolver-status.properties \
-        -o -name _remote.repositories \) \
-        -delete
-
-      runHook postInstall
-    '';
-
-    # don't do any fixup
-    dontFixup = true;
-    outputHashAlgo = if mvnHash != "" then null else "sha256";
-    outputHashMode = "recursive";
-    outputHash = mvnHash;
-  } // mvnFetchExtraArgs);
-in
-stdenv.mkDerivation (builtins.removeAttrs args [ "mvnFetchExtraArgs" ] // {
-  inherit fetchedMavenDeps;
-
-  nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [
-    maven
-  ];
-
-  buildPhase = ''
-    runHook preBuild
-
-    mvnDeps=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)
-    mvn package -o -nsu "-Dmaven.repo.local=$mvnDeps/.m2" ${mvnParameters}
-
-    runHook postBuild
-  '';
-
-  meta = args.meta or { } // {
-    platforms = args.meta.platforms or maven.meta.platforms;
-  };
-})
diff --git a/pkgs/development/tools/build-managers/apache-maven/default.nix b/pkgs/development/tools/build-managers/apache-maven/default.nix
deleted file mode 100644
index c8b5fdaa04a95..0000000000000
--- a/pkgs/development/tools/build-managers/apache-maven/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib
-, stdenvNoCC
-, fetchurl
-, jdk
-, makeWrapper
-, callPackage
-}:
-
-assert jdk != null;
-
-stdenvNoCC.mkDerivation (finalAttrs: {
-  pname = "apache-maven";
-  version = "3.9.6";
-
-  src = fetchurl {
-    url = "mirror://apache/maven/maven-3/${finalAttrs.version}/binaries/${finalAttrs.pname}-${finalAttrs.version}-bin.tar.gz";
-    hash = "sha256-bu3SyuNibWrTpcnuMkvSZYU9ZCl/B/AzQwdVvQ4MOks=";
-  };
-
-  sourceRoot = ".";
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/maven
-    cp -r ${finalAttrs.pname}-${finalAttrs.version}/* $out/maven
-
-    makeWrapper $out/maven/bin/mvn $out/bin/mvn \
-      --set-default JAVA_HOME "${jdk}"
-    makeWrapper $out/maven/bin/mvnDebug $out/bin/mvnDebug \
-      --set-default JAVA_HOME "${jdk}"
-
-    runHook postInstall
-  '';
-
-  passthru.buildMavenPackage = callPackage ./build-package.nix {
-    maven = finalAttrs.finalPackage;
-  };
-
-  meta = with lib; {
-    mainProgram = "mvn";
-    description = "Build automation tool (used primarily for Java projects)";
-    homepage = "https://maven.apache.org/";
-    license = licenses.asl20;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ cko ];
-  };
-})
diff --git a/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix b/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
index 9f1058bd9e486..182b66c8db085 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "bazel-remote";
-  version = "2.4.3";
+  version = "2.4.4";
 
   src = fetchFromGitHub {
     owner = "buchgr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-yvdsRc5KZAwzekktSu9tR9R2vvAMi+4JVkvy+ANFkQ8=";
+    hash = "sha256-ncYE48DtH+mIM9ZR7IB38SzQFordhMGLp79poqDKWLE=";
   };
 
-  vendorHash = "sha256-0rmqsUMwk5ytAZc94JzvZTuh0WAmQwBEWSE96yNALE0=";
+  vendorHash = "sha256-7rxrnxZwxqRRQf1sWk8ILi2IV/pYmxBuwHl9khfCrKE=";
 
   subPackages = [ "." ];
 
@@ -24,7 +24,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/buchgr/bazel-remote";
-    description = "A remote HTTP/1.1 cache for Bazel";
+    description = "Remote HTTP/1.1 cache for Bazel";
     mainProgram = "bazel-remote";
     changelog = "https://github.com/buchgr/bazel-remote/releases/tag/v${version}";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix
index 5ef2a183fa0aa..2e1459c16bea9 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, callPackage, lib, fetchurl, fetchpatch, fetchFromGitHub, installShellFiles
+{ stdenv, callPackage, lib, fetchurl, fetchFromGitHub, installShellFiles
 , runCommand, runCommandCC, makeWrapper, recurseIntoAttrs
 # this package (through the fixpoint glass)
 , bazel_self
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix
index 186d585d626e4..5521fcf0d53df 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, callPackage, lib, fetchurl, fetchpatch, fetchFromGitHub, installShellFiles
+{ stdenv, callPackage, lib, fetchurl, fetchFromGitHub, installShellFiles
 , runCommand, runCommandCC, makeWrapper, recurseIntoAttrs
 # this package (through the fixpoint glass)
 , bazel_self
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock b/pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock
index 2e380bbea3239..a1fd039a5f0d3 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock
+++ b/pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock
@@ -1,5 +1,5 @@
 {
-  "lockFileVersion": 3,
+  "lockFileVersion": 6,
   "moduleFileHash": "c07897f4cf2ea76f689df2779f50aed06ea638d666542078234ebb0efd3ea5a5",
   "flags": {
     "cmdRegistries": [
@@ -13,7 +13,7 @@
     "compatibilityMode": "ERROR"
   },
   "localOverrideHashes": {
-    "bazel_tools": "922ea6752dc9105de5af957f7a99a6933c0a6a712d23df6aad16a9c399f7e787",
+    "bazel_tools": "1ae69322ac3823527337acf02016e8ee95813d8d356f47060255b8956fa642f0",
     "googleapis": "89bad67656f73e953cbf62f12165f56e97cf2cc17d56974c593de76200fa3471",
     "remoteapis": "3862bfbe3d308e71852b8f025f4b33ea9c0dc8790829eda4a71425c5a2ca814e"
   },
@@ -653,10 +653,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_license~0.0.7",
           "urls": [
             "https://github.com/bazelbuild/rules_license/releases/download/0.0.7/rules_license-0.0.7.tar.gz"
           ],
@@ -684,10 +683,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "bazel_skylib~1.5.0",
           "urls": [
             "https://github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz"
           ],
@@ -764,10 +762,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "protobuf~21.7",
           "urls": [
             "https://github.com/protocolbuffers/protobuf/releases/download/v21.7/protobuf-all-21.7.zip"
           ],
@@ -845,10 +842,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "grpc~1.48.1.bcr.1",
           "urls": [
             "https://github.com/grpc/grpc/archive/refs/tags/v1.48.1.tar.gz"
           ],
@@ -875,10 +871,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "platforms",
           "urls": [
             "https://github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz"
           ],
@@ -905,10 +900,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_pkg~0.9.1",
           "urls": [
             "https://github.com/bazelbuild/rules_pkg/releases/download/0.9.1/rules_pkg-0.9.1.tar.gz"
           ],
@@ -934,10 +928,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "stardoc~0.5.3",
           "urls": [
             "https://github.com/bazelbuild/stardoc/releases/download/0.5.3/stardoc-0.5.3.tar.gz"
           ],
@@ -963,10 +956,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "zstd-jni~1.5.2-3.bcr.1",
           "urls": [
             "https://github.com/luben/zstd-jni/archive/refs/tags/v1.5.2-3.zip"
           ],
@@ -995,10 +987,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "blake3~1.3.3.bcr.1",
           "urls": [
             "https://github.com/BLAKE3-team/BLAKE3/archive/refs/tags/1.3.3.tar.gz"
           ],
@@ -1027,10 +1018,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "zlib~1.3",
           "urls": [
             "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.tar.gz"
           ],
@@ -1078,10 +1068,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_cc~0.0.9",
           "urls": [
             "https://github.com/bazelbuild/rules_cc/releases/download/0.0.9/rules_cc-0.0.9.tar.gz"
           ],
@@ -1112,10 +1101,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_graalvm~0.10.3",
           "urls": [
             "https://github.com/sgammon/rules_graalvm/releases/download/v0.10.3/rules_graalvm-0.10.3.zip"
           ],
@@ -1213,10 +1201,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_java~7.4.0",
           "urls": [
             "https://github.com/bazelbuild/rules_java/releases/download/7.4.0/rules_java-7.4.0.tar.gz"
           ],
@@ -1243,10 +1230,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_proto~5.3.0-21.7",
           "urls": [
             "https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz"
           ],
@@ -1283,7 +1269,7 @@
           "hasNonDevUseExtension": true
         },
         {
-          "extensionBzlFile": ":extensions.bzl",
+          "extensionBzlFile": "@rules_jvm_external//:extensions.bzl",
           "extensionName": "maven",
           "usingModule": "rules_jvm_external@5.2",
           "location": {
@@ -1332,10 +1318,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_jvm_external~5.2",
           "urls": [
             "https://github.com/bazelbuild/rules_jvm_external/releases/download/5.2/rules_jvm_external-5.2.tar.gz"
           ],
@@ -1344,7 +1329,7 @@
           "remote_patches": {},
           "remote_patch_strip": 0,
           "patches": [
-            "//third_party:rules_jvm_external_5.2.patch"
+            "@@//third_party:rules_jvm_external_5.2.patch"
           ],
           "patch_cmds": [],
           "patch_args": [
@@ -1448,10 +1433,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_python~0.26.0",
           "urls": [
             "https://github.com/bazelbuild/rules_python/releases/download/0.26.0/rules_python-0.26.0.tar.gz"
           ],
@@ -1478,10 +1462,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_testing~0.0.4",
           "urls": [
             "https://github.com/bazelbuild/rules_testing/releases/download/v0.0.4/rules_testing-v0.0.4.tar.gz"
           ],
@@ -1510,10 +1493,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "googletest~1.14.0",
           "urls": [
             "https://github.com/google/googletest/archive/refs/tags/v1.14.0.tar.gz"
           ],
@@ -1598,10 +1580,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "apple_support~1.8.1",
           "urls": [
             "https://github.com/bazelbuild/apple_support/releases/download/1.8.1/apple_support.1.8.1.tar.gz"
           ],
@@ -1630,10 +1611,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "abseil-cpp~20230125.1",
           "urls": [
             "https://github.com/abseil/abseil-cpp/archive/refs/tags/20230125.1.tar.gz"
           ],
@@ -1662,10 +1642,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "c-ares~1.15.0",
           "urls": [
             "https://github.com/c-ares/c-ares/releases/download/cares-1_15_0/c-ares-1.15.0.tar.gz"
           ],
@@ -1799,10 +1778,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_go~0.39.1",
           "urls": [
             "https://github.com/bazelbuild/rules_go/releases/download/v0.39.1/rules_go-v0.39.1.zip"
           ],
@@ -1831,10 +1809,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "upb~0.0.0-20220923-a547704",
           "urls": [
             "https://github.com/protocolbuffers/upb/archive/a5477045acaa34586420942098f5fecd3570f577.tar.gz"
           ],
@@ -1864,7 +1841,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 17,
+            "line": 18,
             "column": 29
           },
           "imports": {
@@ -1882,7 +1859,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 21,
+            "line": 22,
             "column": 32
           },
           "imports": {
@@ -1899,7 +1876,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 24,
+            "line": 25,
             "column": 32
           },
           "imports": {
@@ -1921,7 +1898,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 35,
+            "line": 36,
             "column": 39
           },
           "imports": {
@@ -1938,7 +1915,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 39,
+            "line": 40,
             "column": 48
           },
           "imports": {
@@ -1955,7 +1932,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 42,
+            "line": 43,
             "column": 42
           },
           "imports": {
@@ -1966,6 +1943,23 @@
           "tags": [],
           "hasDevUseExtension": false,
           "hasNonDevUseExtension": true
+        },
+        {
+          "extensionBzlFile": "@buildozer//:buildozer_binary.bzl",
+          "extensionName": "buildozer_binary",
+          "usingModule": "bazel_tools@_",
+          "location": {
+            "file": "@@bazel_tools//:MODULE.bazel",
+            "line": 47,
+            "column": 33
+          },
+          "imports": {
+            "buildozer_binary": "buildozer_binary"
+          },
+          "devImports": [],
+          "tags": [],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
         }
       ],
       "deps": {
@@ -1974,6 +1968,7 @@
         "rules_license": "rules_license@0.0.7",
         "rules_proto": "rules_proto@5.3.0-21.7",
         "rules_python": "rules_python@0.26.0",
+        "buildozer": "buildozer@6.4.0.2",
         "platforms": "platforms@0.0.8",
         "com_google_protobuf": "protobuf@21.7",
         "zlib": "zlib@1.3",
@@ -2008,10 +2003,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "boringssl~0.0.0-20211025-d4f1ab9",
           "urls": [
             "https://github.com/google/boringssl/archive/d4f1ab983065e4616319f59c723c7b9870021fae.tar.gz"
           ],
@@ -2038,10 +2032,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "re2~2021-09-01",
           "urls": [
             "https://github.com/google/re2/archive/refs/tags/2021-09-01.zip"
           ],
@@ -2086,10 +2079,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "bazel_features~1.1.0",
           "urls": [
             "https://github.com/bazel-contrib/bazel_features/releases/download/v1.1.0/bazel_features-v1.1.0.tar.gz"
           ],
@@ -2211,10 +2203,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "gazelle~0.30.0",
           "urls": [
             "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.30.0/bazel-gazelle-v0.30.0.tar.gz"
           ],
@@ -2224,20 +2215,86 @@
           "remote_patch_strip": 0
         }
       }
+    },
+    "buildozer@6.4.0.2": {
+      "name": "buildozer",
+      "version": "6.4.0.2",
+      "key": "buildozer@6.4.0.2",
+      "repoName": "buildozer",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [
+        {
+          "extensionBzlFile": "@buildozer//:buildozer_binary.bzl",
+          "extensionName": "buildozer_binary",
+          "usingModule": "buildozer@6.4.0.2",
+          "location": {
+            "file": "https://bcr.bazel.build/modules/buildozer/6.4.0.2/MODULE.bazel",
+            "line": 7,
+            "column": 33
+          },
+          "imports": {
+            "buildozer_binary": "buildozer_binary"
+          },
+          "devImports": [],
+          "tags": [
+            {
+              "tagName": "buildozer",
+              "attributeValues": {
+                "sha256": {
+                  "darwin-amd64": "d29e347ecd6b5673d72cb1a8de05bf1b06178dd229ff5eb67fad5100c840cc8e",
+                  "darwin-arm64": "9b9e71bdbec5e7223871e913b65d12f6d8fa026684daf991f00e52ed36a6978d",
+                  "linux-amd64": "8dfd6345da4e9042daa738d7fdf34f699c5dfce4632f7207956fceedd8494119",
+                  "linux-arm64": "6559558fded658c8fa7432a9d011f7c4dcbac6b738feae73d2d5c352e5f605fa",
+                  "windows-amd64": "e7f05bf847f7c3689dd28926460ce6e1097ae97380ac8e6ae7147b7b706ba19b"
+                },
+                "version": "6.4.0"
+              },
+              "devDependency": false,
+              "location": {
+                "file": "https://bcr.bazel.build/modules/buildozer/6.4.0.2/MODULE.bazel",
+                "line": 8,
+                "column": 27
+              }
+            }
+          ],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        }
+      ],
+      "deps": {
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/fmeum/buildozer/releases/download/v6.4.0.2/buildozer-v6.4.0.2.tar.gz"
+          ],
+          "integrity": "sha256-k7tFKQMR2AygxpmZfH0yEPnQmF3efFgD9rBPkj+Yz/8=",
+          "strip_prefix": "buildozer-6.4.0.2",
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/buildozer/6.4.0.2/patches/module_dot_bazel_version.patch": "sha256-gKANF2HMilj7bWmuXs4lbBIAAansuWC4IhWGB/CerjU="
+          },
+          "remote_patch_strip": 1
+        }
+      }
     }
   },
   "moduleExtensions": {
     "//:extensions.bzl%bazel_android_deps": {
       "general": {
-        "bzlTransitiveDigest": "MO3e2koSmZi0NExoX7q3lkNlyquuSaUeNAzVxet7a1c=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "KBarN1/r/5veMYz+cUHOlEzjGUdmUkxNYymHZwCJULg=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "desugar_jdk_libs": {
             "bzlFile": "@@//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "_main~bazel_android_deps~desugar_jdk_libs",
               "sha256": "ef71be474fbb3b3b7bd70cda139f01232c63b9e1bbd08c058b00a8d538d4db17",
               "strip_prefix": "desugar_jdk_libs-24dcd1dead0b64aae3d7c89ca9646b5dc4068009",
               "url": "https://github.com/google/desugar_jdk_libs/archive/24dcd1dead0b64aae3d7c89ca9646b5dc4068009.zip"
@@ -2248,17 +2305,17 @@
           [
             "",
             "abseil-cpp",
-            "abseil-cpp~20230125.1"
+            "abseil-cpp~"
           ],
           [
             "",
             "apple_support",
-            "apple_support~1.8.1"
+            "apple_support~"
           ],
           [
             "",
             "bazel_skylib",
-            "bazel_skylib~1.5.0"
+            "bazel_skylib~"
           ],
           [
             "",
@@ -2268,27 +2325,27 @@
           [
             "",
             "blake3",
-            "blake3~1.3.3.bcr.1"
+            "blake3~"
           ],
           [
             "",
             "c-ares",
-            "c-ares~1.15.0"
+            "c-ares~"
           ],
           [
             "",
             "com_github_grpc_grpc",
-            "grpc~1.48.1.bcr.1"
+            "grpc~"
           ],
           [
             "",
             "com_google_protobuf",
-            "protobuf~21.7"
+            "protobuf~"
           ],
           [
             "",
             "io_bazel_skydoc",
-            "stardoc~0.5.3"
+            "stardoc~"
           ],
           [
             "",
@@ -2298,62 +2355,62 @@
           [
             "",
             "rules_cc",
-            "rules_cc~0.0.9"
+            "rules_cc~"
           ],
           [
             "",
             "rules_go",
-            "rules_go~0.39.1"
+            "rules_go~"
           ],
           [
             "",
             "rules_graalvm",
-            "rules_graalvm~0.10.3"
+            "rules_graalvm~"
           ],
           [
             "",
             "rules_java",
-            "rules_java~7.4.0"
+            "rules_java~"
           ],
           [
             "",
             "rules_jvm_external",
-            "rules_jvm_external~5.2"
+            "rules_jvm_external~"
           ],
           [
             "",
             "rules_license",
-            "rules_license~0.0.7"
+            "rules_license~"
           ],
           [
             "",
             "rules_pkg",
-            "rules_pkg~0.9.1"
+            "rules_pkg~"
           ],
           [
             "",
             "rules_proto",
-            "rules_proto~5.3.0-21.7"
+            "rules_proto~"
           ],
           [
             "",
             "rules_python",
-            "rules_python~0.26.0"
+            "rules_python~"
           ],
           [
             "",
             "upb",
-            "upb~0.0.0-20220923-a547704"
+            "upb~"
           ],
           [
             "",
             "zlib",
-            "zlib~1.3"
+            "zlib~"
           ],
           [
             "",
             "zstd-jni",
-            "zstd-jni~1.5.2-3.bcr.1"
+            "zstd-jni~"
           ],
           [
             "bazel_tools",
@@ -2365,18 +2422,18 @@
     },
     "//:extensions.bzl%bazel_build_deps": {
       "general": {
-        "bzlTransitiveDigest": "MO3e2koSmZi0NExoX7q3lkNlyquuSaUeNAzVxet7a1c=",
-        "accumulatedFileDigests": {
-          "@@//src/test/tools/bzlmod:MODULE.bazel.lock": "0cae3b3c6186baa47cd8a48fe55530f613f22016845926e7825dce52dd496540",
-          "@@//:MODULE.bazel": "c07897f4cf2ea76f689df2779f50aed06ea638d666542078234ebb0efd3ea5a5"
+        "bzlTransitiveDigest": "KBarN1/r/5veMYz+cUHOlEzjGUdmUkxNYymHZwCJULg=",
+        "recordedFileInputs": {
+          "@@//MODULE.bazel": "c07897f4cf2ea76f689df2779f50aed06ea638d666542078234ebb0efd3ea5a5",
+          "@@//src/test/tools/bzlmod/MODULE.bazel.lock": "0cae3b3c6186baa47cd8a48fe55530f613f22016845926e7825dce52dd496540"
         },
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "openjdk_macos_aarch64_vanilla": {
             "bzlFile": "@@//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "_main~bazel_build_deps~openjdk_macos_aarch64_vanilla",
               "sha256": "2a7a99a3ea263dbd8d32a67d1e6e363ba8b25c645c826f5e167a02bbafaff1fa",
               "downloaded_file_path": "zulu-macos-aarch64-vanilla.tar.gz",
               "url": "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_aarch64.tar.gz"
@@ -2386,25 +2443,24 @@
             "bzlFile": "@@//:distdir.bzl",
             "ruleClassName": "repo_cache_tar",
             "attributes": {
-              "name": "_main~bazel_build_deps~bazel_tools_repo_cache",
               "repos": [
-                "rules_cc~0.0.9",
-                "rules_java~7.4.0",
-                "rules_license~0.0.7",
-                "rules_proto~5.3.0-21.7",
-                "rules_python~0.22.1",
-                "buildozer~6.4.0.2",
+                "rules_cc~",
+                "rules_java~",
+                "rules_license~",
+                "rules_proto~",
+                "rules_python~",
+                "buildozer~",
                 "platforms",
-                "protobuf~21.7",
-                "zlib~1.3",
-                "apple_support~1.5.0",
-                "bazel_skylib~1.3.0",
-                "rules_pkg~0.7.0",
-                "abseil-cpp~20211102.0",
-                "upb~0.0.0-20220923-a547704",
-                "rules_jvm_external~4.4.2",
-                "googletest~1.11.0",
-                "stardoc~0.5.1"
+                "protobuf~",
+                "zlib~",
+                "apple_support~",
+                "bazel_skylib~",
+                "rules_pkg~",
+                "abseil-cpp~",
+                "upb~",
+                "rules_jvm_external~",
+                "googletest~",
+                "stardoc~"
               ],
               "lockfile": "@@//src/test/tools/bzlmod:MODULE.bazel.lock"
             }
@@ -2413,7 +2469,6 @@
             "bzlFile": "@@//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "_main~bazel_build_deps~openjdk_linux_vanilla",
               "sha256": "0c0eadfbdc47a7ca64aeab51b9c061f71b6e4d25d2d87674512e9b6387e9e3a6",
               "downloaded_file_path": "zulu-linux-vanilla.tar.gz",
               "url": "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_x64.tar.gz"
@@ -2423,7 +2478,6 @@
             "bzlFile": "@@//tools/distributions:system_repo.bzl",
             "ruleClassName": "system_repo",
             "attributes": {
-              "name": "_main~bazel_build_deps~debian_cc_deps",
               "symlinks": {},
               "build_file": "@@//tools/distributions/debian:debian_cc.BUILD"
             }
@@ -2432,7 +2486,6 @@
             "bzlFile": "@@//tools/distributions:system_repo.bzl",
             "ruleClassName": "system_repo",
             "attributes": {
-              "name": "_main~bazel_build_deps~debian_java_deps",
               "symlinks": {
                 "java": "/usr/share/java"
               },
@@ -2443,7 +2496,6 @@
             "bzlFile": "@@//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "_main~bazel_build_deps~openjdk_linux_s390x_vanilla",
               "sha256": "f2512f9a8e9847dd5d3557c39b485a8e7a1ef37b601dcbcb748d22e49f44815c",
               "downloaded_file_path": "adoptopenjdk-s390x-vanilla.tar.gz",
               "url": "https://github.com/adoptium/temurin19-binaries/releases/download/jdk-19.0.2%2B7/OpenJDK19U-jdk_s390x_linux_hotspot_19.0.2_7.tar.gz"
@@ -2453,36 +2505,35 @@
             "bzlFile": "@@//:distdir.bzl",
             "ruleClassName": "repo_cache_tar",
             "attributes": {
-              "name": "_main~bazel_build_deps~bootstrap_repo_cache",
               "repos": [
-                "abseil-cpp~20230125.1",
-                "apple_support~1.8.1",
-                "bazel_skylib~1.5.0",
-                "blake3~1.3.3.bcr.1",
-                "c-ares~1.15.0",
-                "grpc~1.48.1.bcr.1",
-                "protobuf~21.7",
-                "stardoc~0.5.3",
+                "abseil-cpp~",
+                "apple_support~",
+                "bazel_skylib~",
+                "blake3~",
+                "c-ares~",
+                "grpc~",
+                "protobuf~",
+                "stardoc~",
                 "platforms",
-                "rules_cc~0.0.9",
-                "rules_go~0.39.1",
-                "rules_java~7.4.0",
-                "rules_jvm_external~5.2",
-                "rules_graalvm~0.10.3",
-                "rules_license~0.0.7",
-                "rules_pkg~0.9.1",
-                "rules_proto~5.3.0-21.7",
-                "rules_python~0.26.0",
-                "upb~0.0.0-20220923-a547704",
-                "zlib~1.3",
-                "zstd-jni~1.5.2-3.bcr.1",
-                "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_gazelle",
-                "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_skylib",
-                "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_envoyproxy_protoc_gen_validate",
-                "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_github_cncf_udpa",
-                "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_google_googleapis",
-                "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~envoy_api",
-                "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~rules_cc"
+                "rules_cc~",
+                "rules_go~",
+                "rules_java~",
+                "rules_jvm_external~",
+                "rules_graalvm~",
+                "rules_license~",
+                "rules_pkg~",
+                "rules_proto~",
+                "rules_python~",
+                "upb~",
+                "zlib~",
+                "zstd-jni~",
+                "grpc~~grpc_repo_deps_ext~bazel_gazelle",
+                "grpc~~grpc_repo_deps_ext~bazel_skylib",
+                "grpc~~grpc_repo_deps_ext~com_envoyproxy_protoc_gen_validate",
+                "grpc~~grpc_repo_deps_ext~com_github_cncf_udpa",
+                "grpc~~grpc_repo_deps_ext~com_google_googleapis",
+                "grpc~~grpc_repo_deps_ext~envoy_api",
+                "grpc~~grpc_repo_deps_ext~rules_cc"
               ],
               "dirname": "derived/repository_cache"
             }
@@ -2491,7 +2542,6 @@
             "bzlFile": "@@//tools/distributions:system_repo.bzl",
             "ruleClassName": "system_repo",
             "attributes": {
-              "name": "_main~bazel_build_deps~debian_bin_deps",
               "symlinks": {
                 "protoc": "/usr/bin/protoc",
                 "grpc_cpp_plugin": "/usr/bin/grpc_cpp_plugin",
@@ -2504,7 +2554,6 @@
             "bzlFile": "@@//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "_main~bazel_build_deps~openjdk_win_arm64_vanilla",
               "sha256": "975603e684f2ec5a525b3b5336d6aa0b09b5b7d2d0d9e271bd6a9892ad550181",
               "downloaded_file_path": "zulu-win-arm64.zip",
               "url": "https://aka.ms/download-jdk/microsoft-jdk-21.0.0-windows-aarch64.zip"
@@ -2514,7 +2563,6 @@
             "bzlFile": "@@//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "_main~bazel_build_deps~openjdk_linux_ppc64le_vanilla",
               "sha256": "45dde71faf8cbb78fab3c976894259655c8d3de827347f23e0ebe5710921dded",
               "downloaded_file_path": "adoptopenjdk-ppc64le-vanilla.tar.gz",
               "url": "https://github.com/adoptium/temurin20-binaries/releases/download/jdk-20%2B36/OpenJDK20U-jdk_ppc64le_linux_hotspot_20_36.tar.gz"
@@ -2524,7 +2572,6 @@
             "bzlFile": "@@//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "_main~bazel_build_deps~openjdk_macos_x86_64_vanilla",
               "sha256": "9639b87db586d0c89f7a9892ae47f421e442c64b97baebdff31788fbe23265bd",
               "downloaded_file_path": "zulu-macos-vanilla.tar.gz",
               "url": "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_x64.tar.gz"
@@ -2534,7 +2581,6 @@
             "bzlFile": "@@//:distdir.bzl",
             "ruleClassName": "_distdir_tar",
             "attributes": {
-              "name": "_main~bazel_build_deps~workspace_repo_cache",
               "archives": [
                 "rules_cc-0.0.9.tar.gz",
                 "rules_java-7.4.0.tar.gz",
@@ -2592,7 +2638,6 @@
             "bzlFile": "@@//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "_main~bazel_build_deps~openjdk_win_vanilla",
               "sha256": "e9959d500a0d9a7694ac243baf657761479da132f0f94720cbffd092150bd802",
               "downloaded_file_path": "zulu-win-vanilla.zip",
               "url": "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-win_x64.zip"
@@ -2602,7 +2647,6 @@
             "bzlFile": "@@//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "_main~bazel_build_deps~openjdk_linux_aarch64_vanilla",
               "sha256": "1fb64b8036c5d463d8ab59af06bf5b6b006811e6012e3b0eb6bccf57f1c55835",
               "downloaded_file_path": "zulu-linux-aarch64-vanilla.tar.gz",
               "url": "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_aarch64.tar.gz"
@@ -2612,7 +2656,6 @@
             "bzlFile": "@@//tools/distributions:system_repo.bzl",
             "ruleClassName": "system_repo",
             "attributes": {
-              "name": "_main~bazel_build_deps~debian_proto_deps",
               "symlinks": {
                 "google/protobuf": "/usr/include/google/protobuf"
               },
@@ -2624,17 +2667,17 @@
           [
             "",
             "abseil-cpp",
-            "abseil-cpp~20230125.1"
+            "abseil-cpp~"
           ],
           [
             "",
             "apple_support",
-            "apple_support~1.8.1"
+            "apple_support~"
           ],
           [
             "",
             "bazel_skylib",
-            "bazel_skylib~1.5.0"
+            "bazel_skylib~"
           ],
           [
             "",
@@ -2644,27 +2687,27 @@
           [
             "",
             "blake3",
-            "blake3~1.3.3.bcr.1"
+            "blake3~"
           ],
           [
             "",
             "c-ares",
-            "c-ares~1.15.0"
+            "c-ares~"
           ],
           [
             "",
             "com_github_grpc_grpc",
-            "grpc~1.48.1.bcr.1"
+            "grpc~"
           ],
           [
             "",
             "com_google_protobuf",
-            "protobuf~21.7"
+            "protobuf~"
           ],
           [
             "",
             "io_bazel_skydoc",
-            "stardoc~0.5.3"
+            "stardoc~"
           ],
           [
             "",
@@ -2674,62 +2717,62 @@
           [
             "",
             "rules_cc",
-            "rules_cc~0.0.9"
+            "rules_cc~"
           ],
           [
             "",
             "rules_go",
-            "rules_go~0.39.1"
+            "rules_go~"
           ],
           [
             "",
             "rules_graalvm",
-            "rules_graalvm~0.10.3"
+            "rules_graalvm~"
           ],
           [
             "",
             "rules_java",
-            "rules_java~7.4.0"
+            "rules_java~"
           ],
           [
             "",
             "rules_jvm_external",
-            "rules_jvm_external~5.2"
+            "rules_jvm_external~"
           ],
           [
             "",
             "rules_license",
-            "rules_license~0.0.7"
+            "rules_license~"
           ],
           [
             "",
             "rules_pkg",
-            "rules_pkg~0.9.1"
+            "rules_pkg~"
           ],
           [
             "",
             "rules_proto",
-            "rules_proto~5.3.0-21.7"
+            "rules_proto~"
           ],
           [
             "",
             "rules_python",
-            "rules_python~0.26.0"
+            "rules_python~"
           ],
           [
             "",
             "upb",
-            "upb~0.0.0-20220923-a547704"
+            "upb~"
           ],
           [
             "",
             "zlib",
-            "zlib~1.3"
+            "zlib~"
           ],
           [
             "",
             "zstd-jni",
-            "zstd-jni~1.5.2-3.bcr.1"
+            "zstd-jni~"
           ],
           [
             "bazel_tools",
@@ -2741,29 +2784,25 @@
     },
     "//:extensions.bzl%bazel_test_deps": {
       "general": {
-        "bzlTransitiveDigest": "MO3e2koSmZi0NExoX7q3lkNlyquuSaUeNAzVxet7a1c=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "KBarN1/r/5veMYz+cUHOlEzjGUdmUkxNYymHZwCJULg=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_winsdk": {
             "bzlFile": "@@//src/main/res:winsdk_configure.bzl",
             "ruleClassName": "winsdk_configure",
-            "attributes": {
-              "name": "_main~bazel_test_deps~local_config_winsdk"
-            }
+            "attributes": {}
           },
           "local_bazel_source_list": {
             "bzlFile": "@@//src/test/shell/bazel:list_source_repository.bzl",
             "ruleClassName": "list_source_repository",
-            "attributes": {
-              "name": "_main~bazel_test_deps~local_bazel_source_list"
-            }
+            "attributes": {}
           },
           "bazelci_rules": {
             "bzlFile": "@@//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "_main~bazel_test_deps~bazelci_rules",
               "sha256": "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e",
               "strip_prefix": "bazelci_rules-1.0.0",
               "url": "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz"
@@ -2774,17 +2813,17 @@
           [
             "",
             "abseil-cpp",
-            "abseil-cpp~20230125.1"
+            "abseil-cpp~"
           ],
           [
             "",
             "apple_support",
-            "apple_support~1.8.1"
+            "apple_support~"
           ],
           [
             "",
             "bazel_skylib",
-            "bazel_skylib~1.5.0"
+            "bazel_skylib~"
           ],
           [
             "",
@@ -2794,27 +2833,27 @@
           [
             "",
             "blake3",
-            "blake3~1.3.3.bcr.1"
+            "blake3~"
           ],
           [
             "",
             "c-ares",
-            "c-ares~1.15.0"
+            "c-ares~"
           ],
           [
             "",
             "com_github_grpc_grpc",
-            "grpc~1.48.1.bcr.1"
+            "grpc~"
           ],
           [
             "",
             "com_google_protobuf",
-            "protobuf~21.7"
+            "protobuf~"
           ],
           [
             "",
             "io_bazel_skydoc",
-            "stardoc~0.5.3"
+            "stardoc~"
           ],
           [
             "",
@@ -2824,62 +2863,62 @@
           [
             "",
             "rules_cc",
-            "rules_cc~0.0.9"
+            "rules_cc~"
           ],
           [
             "",
             "rules_go",
-            "rules_go~0.39.1"
+            "rules_go~"
           ],
           [
             "",
             "rules_graalvm",
-            "rules_graalvm~0.10.3"
+            "rules_graalvm~"
           ],
           [
             "",
             "rules_java",
-            "rules_java~7.4.0"
+            "rules_java~"
           ],
           [
             "",
             "rules_jvm_external",
-            "rules_jvm_external~5.2"
+            "rules_jvm_external~"
           ],
           [
             "",
             "rules_license",
-            "rules_license~0.0.7"
+            "rules_license~"
           ],
           [
             "",
             "rules_pkg",
-            "rules_pkg~0.9.1"
+            "rules_pkg~"
           ],
           [
             "",
             "rules_proto",
-            "rules_proto~5.3.0-21.7"
+            "rules_proto~"
           ],
           [
             "",
             "rules_python",
-            "rules_python~0.26.0"
+            "rules_python~"
           ],
           [
             "",
             "upb",
-            "upb~0.0.0-20220923-a547704"
+            "upb~"
           ],
           [
             "",
             "zlib",
-            "zlib~1.3"
+            "zlib~"
           ],
           [
             "",
             "zstd-jni",
-            "zstd-jni~1.5.2-3.bcr.1"
+            "zstd-jni~"
           ],
           [
             "bazel_tools",
@@ -2892,32 +2931,38 @@
     "//:rbe_extension.bzl%bazel_rbe_deps": {
       "general": {
         "bzlTransitiveDigest": "oNMQ9KtzGcqNHdpe8zMO3lRAVIKWWDmz8n5SMubtIIc=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "rbe_ubuntu2004_java11": {
             "bzlFile": "@@_main~bazel_test_deps~bazelci_rules//:rbe_repo.bzl",
             "ruleClassName": "rbe_preconfig",
             "attributes": {
-              "name": "_main~bazel_rbe_deps~rbe_ubuntu2004_java11",
               "toolchain": "ubuntu2004-bazel-java11"
             }
           }
         },
-        "recordedRepoMappingEntries": []
+        "recordedRepoMappingEntries": [
+          [
+            "",
+            "bazelci_rules",
+            "_main~bazel_test_deps~bazelci_rules"
+          ]
+        ]
       }
     },
     "//tools/android:android_extensions.bzl%remote_android_tools_extensions": {
       "general": {
         "bzlTransitiveDigest": "S0n86BFe4SJ3lRaZiRA5D46oH52UO2hP1T50t/zldOw=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "android_tools": {
             "bzlFile": "@@//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "_main~remote_android_tools_extensions~android_tools",
               "sha256": "2b661a761a735b41c41b3a78089f4fc1982626c76ddb944604ae3ff8c545d3c2",
               "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.30.0.tar"
             }
@@ -2926,7 +2971,6 @@
             "bzlFile": "@@//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_jar",
             "attributes": {
-              "name": "_main~remote_android_tools_extensions~android_gmaven_r8",
               "sha256": "57a696749695a09381a87bc2f08c3a8ed06a717a5caa3ef878a3077e0d3af19d",
               "url": "https://maven.google.com/com/android/tools/r8/8.1.56/r8-8.1.56.jar"
             }
@@ -2938,14 +2982,14 @@
     "//tools/test:extensions.bzl%remote_coverage_tools_extension": {
       "general": {
         "bzlTransitiveDigest": "l5mcjH2gWmbmIycx97bzI2stD0Q0M5gpDc0aLOHKIm8=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "remote_coverage_tools": {
             "bzlFile": "@@//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "_main~remote_coverage_tools_extension~remote_coverage_tools",
               "sha256": "7006375f6756819b7013ca875eab70a541cf7d89142d9c511ed78ea4fefa38af",
               "urls": [
                 "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.6.zip"
@@ -2956,54 +3000,49 @@
         "recordedRepoMappingEntries": []
       }
     },
-    "@@apple_support~1.8.1//crosstool:setup.bzl%apple_cc_configure_extension": {
+    "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": {
       "general": {
         "bzlTransitiveDigest": "JFciz9+xRmE31CdyrcEUeZSKFxwiLTQ+PNMg6Bcc6s8=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_apple_cc": {
-            "bzlFile": "@@apple_support~1.8.1//crosstool:setup.bzl",
+            "bzlFile": "@@apple_support~//crosstool:setup.bzl",
             "ruleClassName": "_apple_cc_autoconf",
-            "attributes": {
-              "name": "apple_support~1.8.1~apple_cc_configure_extension~local_config_apple_cc"
-            }
+            "attributes": {}
           },
           "local_config_apple_cc_toolchains": {
-            "bzlFile": "@@apple_support~1.8.1//crosstool:setup.bzl",
+            "bzlFile": "@@apple_support~//crosstool:setup.bzl",
             "ruleClassName": "_apple_cc_autoconf_toolchains",
-            "attributes": {
-              "name": "apple_support~1.8.1~apple_cc_configure_extension~local_config_apple_cc_toolchains"
-            }
+            "attributes": {}
           }
         },
         "recordedRepoMappingEntries": [
           [
-            "apple_support~1.8.1",
+            "apple_support~",
             "bazel_tools",
             "bazel_tools"
           ]
         ]
       }
     },
-    "@@bazel_features~1.1.0//private:extensions.bzl%version_extension": {
+    "@@bazel_features~//private:extensions.bzl%version_extension": {
       "general": {
         "bzlTransitiveDigest": "LKmXjK1avT44pRhO3x6Hplu1mU9qrNOaHP+/tJ0VFfE=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "bazel_features_version": {
-            "bzlFile": "@@bazel_features~1.1.0//private:version_repo.bzl",
+            "bzlFile": "@@bazel_features~//private:version_repo.bzl",
             "ruleClassName": "version_repo",
-            "attributes": {
-              "name": "bazel_features~1.1.0~version_extension~bazel_features_version"
-            }
+            "attributes": {}
           },
           "bazel_features_globals": {
-            "bzlFile": "@@bazel_features~1.1.0//private:globals_repo.bzl",
+            "bzlFile": "@@bazel_features~//private:globals_repo.bzl",
             "ruleClassName": "globals_repo",
             "attributes": {
-              "name": "bazel_features~1.1.0~version_extension~bazel_features_globals",
               "globals": {
                 "RunEnvironmentInfo": "5.3.0",
                 "DefaultInfo": "0.0.1",
@@ -3017,15 +3056,15 @@
     },
     "@@bazel_tools//tools/android:android_extensions.bzl%remote_android_tools_extensions": {
       "general": {
-        "bzlTransitiveDigest": "4x/FXzwoadac6uV9ItZ4eGOyCculGHHrKUhLFNWo3lA=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "S0n86BFe4SJ3lRaZiRA5D46oH52UO2hP1T50t/zldOw=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "android_tools": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "bazel_tools~remote_android_tools_extensions~android_tools",
               "sha256": "2b661a761a735b41c41b3a78089f4fc1982626c76ddb944604ae3ff8c545d3c2",
               "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.30.0.tar"
             }
@@ -3034,7 +3073,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_jar",
             "attributes": {
-              "name": "bazel_tools~remote_android_tools_extensions~android_gmaven_r8",
               "sha256": "57a696749695a09381a87bc2f08c3a8ed06a717a5caa3ef878a3077e0d3af19d",
               "url": "https://maven.google.com/com/android/tools/r8/8.1.56/r8-8.1.56.jar"
             }
@@ -3045,23 +3083,20 @@
     },
     "@@bazel_tools//tools/cpp:cc_configure.bzl%cc_configure_extension": {
       "general": {
-        "bzlTransitiveDigest": "mcsWHq3xORJexV5/4eCvNOLxFOQKV6eli3fkr+tEaqE=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "PHpT2yqMGms2U4L3E/aZ+WcQalmZWm+ILdP3yiLsDhA=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_cc": {
             "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl",
             "ruleClassName": "cc_autoconf",
-            "attributes": {
-              "name": "bazel_tools~cc_configure_extension~local_config_cc"
-            }
+            "attributes": {}
           },
           "local_config_cc_toolchains": {
             "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl",
             "ruleClassName": "cc_autoconf_toolchains",
-            "attributes": {
-              "name": "bazel_tools~cc_configure_extension~local_config_cc_toolchains"
-            }
+            "attributes": {}
           }
         },
         "recordedRepoMappingEntries": [
@@ -3076,14 +3111,14 @@
     "@@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": {
       "general": {
         "bzlTransitiveDigest": "Qh2bWTU6QW6wkrd87qrU4YeY+SG37Nvw3A0PR4Y0L2Y=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_xcode": {
             "bzlFile": "@@bazel_tools//tools/osx:xcode_configure.bzl",
             "ruleClassName": "xcode_autoconf",
             "attributes": {
-              "name": "bazel_tools~xcode_configure_extension~local_config_xcode",
               "xcode_locator": "@bazel_tools//tools/osx:xcode_locator.m",
               "remote_xcode": ""
             }
@@ -3095,15 +3130,14 @@
     "@@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": {
       "general": {
         "bzlTransitiveDigest": "hp4NgmNjEg5+xgvzfh6L83bt9/aiiWETuNpwNuF1MSU=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_sh": {
             "bzlFile": "@@bazel_tools//tools/sh:sh_configure.bzl",
             "ruleClassName": "sh_config",
-            "attributes": {
-              "name": "bazel_tools~sh_configure_extension~local_config_sh"
-            }
+            "attributes": {}
           }
         },
         "recordedRepoMappingEntries": []
@@ -3111,15 +3145,15 @@
     },
     "@@bazel_tools//tools/test:extensions.bzl%remote_coverage_tools_extension": {
       "general": {
-        "bzlTransitiveDigest": "y48q5zUu2oMiYv7yUyi7rFB0wt14eqiF/RQcWT6vP7I=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "l5mcjH2gWmbmIycx97bzI2stD0Q0M5gpDc0aLOHKIm8=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "remote_coverage_tools": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "bazel_tools~remote_coverage_tools_extension~remote_coverage_tools",
               "sha256": "7006375f6756819b7013ca875eab70a541cf7d89142d9c511ed78ea4fefa38af",
               "urls": [
                 "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.6.zip"
@@ -3130,22 +3164,47 @@
         "recordedRepoMappingEntries": []
       }
     },
-    "@@gazelle~0.30.0//:extensions.bzl%go_deps": {
+    "@@buildozer~//:buildozer_binary.bzl%buildozer_binary": {
       "general": {
-        "bzlTransitiveDigest": "qA0ex33bTMERZ7C8nXKz92cjvx42TwSWN1J1CSDT0K8=",
-        "accumulatedFileDigests": {
-          "@@rules_go~0.39.1//:go.sum": "022d36c9ebcc7b5dee1e9b85b3da9c9f3a529ee6f979946d66e4955b8d54614a",
-          "@@rules_go~0.39.1//:go.mod": "a7143f329c2a3e0b983ce74a96c0c25b0d0c59d236d75f7e1b069aadd988d55e",
-          "@@gazelle~0.30.0//:go.sum": "c9624aa41e5ffd61a8581d57a3c4046e62b46630dddc8b191e65017f34ff12a5",
-          "@@gazelle~0.30.0//:go.mod": "5346019bf0673364b383d56ffbc9fced98b7b4ee921e865dfe905a1ebe82d326"
+        "bzlTransitiveDigest": "EleDU/FQ1+e/RgkW3aIDmdaxZEthvoWQhsqFTxiSgMI=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
+        "envVariables": {},
+        "generatedRepoSpecs": {
+          "buildozer_binary": {
+            "bzlFile": "@@buildozer~//private:buildozer_binary.bzl",
+            "ruleClassName": "_buildozer_binary_repo",
+            "attributes": {
+              "sha256": {
+                "darwin-amd64": "d29e347ecd6b5673d72cb1a8de05bf1b06178dd229ff5eb67fad5100c840cc8e",
+                "darwin-arm64": "9b9e71bdbec5e7223871e913b65d12f6d8fa026684daf991f00e52ed36a6978d",
+                "linux-amd64": "8dfd6345da4e9042daa738d7fdf34f699c5dfce4632f7207956fceedd8494119",
+                "linux-arm64": "6559558fded658c8fa7432a9d011f7c4dcbac6b738feae73d2d5c352e5f605fa",
+                "windows-amd64": "e7f05bf847f7c3689dd28926460ce6e1097ae97380ac8e6ae7147b7b706ba19b"
+              },
+              "version": "6.4.0"
+            }
+          }
         },
+        "recordedRepoMappingEntries": []
+      }
+    },
+    "@@gazelle~//:extensions.bzl%go_deps": {
+      "general": {
+        "bzlTransitiveDigest": "V0I2A6HQbPqRuhGhygxjQV47OuSSxVaAXG5m+/637Zw=",
+        "recordedFileInputs": {
+          "@@rules_go~//go.mod": "a7143f329c2a3e0b983ce74a96c0c25b0d0c59d236d75f7e1b069aadd988d55e",
+          "@@gazelle~//go.sum": "c9624aa41e5ffd61a8581d57a3c4046e62b46630dddc8b191e65017f34ff12a5",
+          "@@rules_go~//go.sum": "022d36c9ebcc7b5dee1e9b85b3da9c9f3a529ee6f979946d66e4955b8d54614a",
+          "@@gazelle~//go.mod": "5346019bf0673364b383d56ffbc9fced98b7b4ee921e865dfe905a1ebe82d326"
+        },
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "com_github_fsnotify_fsnotify": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~com_github_fsnotify_fsnotify",
               "importpath": "github.com/fsnotify/fsnotify",
               "sum": "h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=",
               "replace": "",
@@ -3154,10 +3213,9 @@
             }
           },
           "org_golang_x_text": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~org_golang_x_text",
               "importpath": "golang.org/x/text",
               "sum": "h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=",
               "replace": "",
@@ -3166,10 +3224,9 @@
             }
           },
           "org_golang_google_protobuf": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~org_golang_google_protobuf",
               "importpath": "google.golang.org/protobuf",
               "sum": "h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=",
               "replace": "",
@@ -3178,10 +3235,9 @@
             }
           },
           "com_github_bmatcuk_doublestar_v4": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~com_github_bmatcuk_doublestar_v4",
               "importpath": "github.com/bmatcuk/doublestar/v4",
               "sum": "h1:HTuxyug8GyFbRkrffIpzNCSK4luc0TY3wzXvzIZhEXc=",
               "replace": "",
@@ -3190,10 +3246,9 @@
             }
           },
           "com_github_pmezard_go_difflib": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~com_github_pmezard_go_difflib",
               "importpath": "github.com/pmezard/go-difflib",
               "sum": "h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=",
               "replace": "",
@@ -3202,10 +3257,9 @@
             }
           },
           "org_golang_x_mod": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~org_golang_x_mod",
               "importpath": "golang.org/x/mod",
               "sum": "h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs=",
               "replace": "",
@@ -3214,10 +3268,9 @@
             }
           },
           "org_golang_x_tools": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~org_golang_x_tools",
               "importpath": "golang.org/x/tools",
               "sum": "h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=",
               "replace": "",
@@ -3226,10 +3279,9 @@
             }
           },
           "org_golang_x_net": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~org_golang_x_net",
               "importpath": "golang.org/x/net",
               "sum": "h1:4nGaVu0QrbjT/AK2PRLuQfQuh6DJve+pELhqTdAj3x0=",
               "replace": "",
@@ -3238,10 +3290,9 @@
             }
           },
           "com_github_bazelbuild_buildtools": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~com_github_bazelbuild_buildtools",
               "importpath": "github.com/bazelbuild/buildtools",
               "sum": "h1:XmPu4mXICgdGnC5dXGjUGbwUD/kUmS0l5Aop3LaevBM=",
               "replace": "",
@@ -3250,10 +3301,9 @@
             }
           },
           "org_golang_google_genproto": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~org_golang_google_genproto",
               "importpath": "google.golang.org/genproto",
               "sum": "h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY=",
               "replace": "",
@@ -3262,10 +3312,9 @@
             }
           },
           "com_github_gogo_protobuf": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~com_github_gogo_protobuf",
               "importpath": "github.com/gogo/protobuf",
               "sum": "h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=",
               "replace": "",
@@ -3276,10 +3325,9 @@
             }
           },
           "com_github_pelletier_go_toml": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~com_github_pelletier_go_toml",
               "importpath": "github.com/pelletier/go-toml",
               "sum": "h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=",
               "replace": "",
@@ -3288,10 +3336,9 @@
             }
           },
           "com_github_golang_protobuf": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~com_github_golang_protobuf",
               "importpath": "github.com/golang/protobuf",
               "sum": "h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=",
               "replace": "",
@@ -3300,10 +3347,9 @@
             }
           },
           "com_github_golang_mock": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~com_github_golang_mock",
               "importpath": "github.com/golang/mock",
               "sum": "h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=",
               "replace": "",
@@ -3312,10 +3358,9 @@
             }
           },
           "org_golang_x_sync": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~org_golang_x_sync",
               "importpath": "golang.org/x/sync",
               "sum": "h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=",
               "replace": "",
@@ -3324,10 +3369,9 @@
             }
           },
           "bazel_gazelle_go_repository_config": {
-            "bzlFile": "@@gazelle~0.30.0//internal/bzlmod:go_deps.bzl",
+            "bzlFile": "@@gazelle~//internal/bzlmod:go_deps.bzl",
             "ruleClassName": "_go_repository_config",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~bazel_gazelle_go_repository_config",
               "importpaths": {
                 "com_github_gogo_protobuf": "github.com/gogo/protobuf",
                 "com_github_golang_mock": "github.com/golang/mock",
@@ -3352,10 +3396,9 @@
             }
           },
           "org_golang_google_grpc": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~org_golang_google_grpc",
               "importpath": "google.golang.org/grpc",
               "sum": "h1:fPVVDxY9w++VjTZsYvXWqEf9Rqar/e+9zYfxKK+W+YU=",
               "replace": "",
@@ -3366,10 +3409,9 @@
             }
           },
           "org_golang_x_sys": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~org_golang_x_sys",
               "importpath": "golang.org/x/sys",
               "sum": "h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=",
               "replace": "",
@@ -3378,10 +3420,9 @@
             }
           },
           "com_github_google_go_cmp": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository.bzl",
             "ruleClassName": "go_repository",
             "attributes": {
-              "name": "gazelle~0.30.0~go_deps~com_github_google_go_cmp",
               "importpath": "github.com/google/go-cmp",
               "sum": "h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=",
               "replace": "",
@@ -3392,51 +3433,56 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "gazelle~0.30.0",
+            "gazelle~",
             "bazel_tools",
             "bazel_tools"
           ]
         ]
       }
     },
-    "@@gazelle~0.30.0//internal/bzlmod:non_module_deps.bzl%non_module_deps": {
+    "@@gazelle~//internal/bzlmod:non_module_deps.bzl%non_module_deps": {
       "general": {
         "bzlTransitiveDigest": "30wev+wJfzc4s72MCfbP9U8W+3Js2b+Xbo5ofgZbHw8=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "bazel_gazelle_go_repository_tools": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository_tools.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository_tools.bzl",
             "ruleClassName": "go_repository_tools",
             "attributes": {
-              "name": "gazelle~0.30.0~non_module_deps~bazel_gazelle_go_repository_tools",
-              "go_cache": "@@gazelle~0.30.0~non_module_deps~bazel_gazelle_go_repository_cache//:go.env"
+              "go_cache": "@@gazelle~~non_module_deps~bazel_gazelle_go_repository_cache//:go.env"
             }
           },
           "bazel_gazelle_go_repository_cache": {
-            "bzlFile": "@@gazelle~0.30.0//internal:go_repository_cache.bzl",
+            "bzlFile": "@@gazelle~//internal:go_repository_cache.bzl",
             "ruleClassName": "go_repository_cache",
             "attributes": {
-              "name": "gazelle~0.30.0~non_module_deps~bazel_gazelle_go_repository_cache",
               "go_sdk_name": "go_default_sdk",
               "go_env": {}
             }
           }
         },
-        "recordedRepoMappingEntries": []
+        "recordedRepoMappingEntries": [
+          [
+            "gazelle~",
+            "bazel_gazelle_go_repository_cache",
+            "gazelle~~non_module_deps~bazel_gazelle_go_repository_cache"
+          ]
+        ]
       }
     },
-    "@@grpc~1.48.1.bcr.1//bazel:grpc_deps.bzl%grpc_repo_deps_ext": {
+    "@@grpc~//bazel:grpc_deps.bzl%grpc_repo_deps_ext": {
       "general": {
-        "bzlTransitiveDigest": "Vi/A+pHz0UslIVgXw0k4nRhXybndFcXR259m5TlMQXA=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "CQymQeM+xKJtqfP8mRUSq0+RY5mOsGzDgE0qRby0QbY=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "io_opencensus_cpp": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~io_opencensus_cpp",
               "sha256": "90d6fafa8b1a2ea613bf662731d3086e1c2ed286f458a95c81744df2dbae41b1",
               "strip_prefix": "opencensus-cpp-c9a4da319bc669a772928ffc55af4a61be1a1176",
               "urls": [
@@ -3449,8 +3495,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_github_libuv_libuv",
-              "build_file": "@@grpc~1.48.1.bcr.1//third_party:libuv.BUILD",
+              "build_file": "@@grpc~//third_party:libuv.BUILD",
               "sha256": "5ca4e9091f3231d8ad8801862dc4e851c23af89c69141d27723157776f7291e7",
               "strip_prefix": "libuv-02a9e1be252b623ee032a3137c0b0c94afbe6809",
               "urls": [
@@ -3463,7 +3508,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_google_googleapis",
               "sha256": "5bb6b0253ccf64b53d6c7249625a7e3f6c3bc6402abd52d3778bfa48258703a0",
               "strip_prefix": "googleapis-2f9af297c84c55c8b871ba4495e01ade42476c92",
               "urls": [
@@ -3476,7 +3520,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~upb",
               "sha256": "d0fe259d650bf9547e75896a1307bfc7034195e4ae89f5139814d295991ba681",
               "strip_prefix": "upb-bef53686ec702607971bd3ea4d4fefd80c6cc6e8",
               "urls": [
@@ -3489,7 +3532,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~rules_cc",
               "sha256": "35f2fb4ea0b3e61ad64a369de284e4fbbdcdba71836a5555abb5e194cf119509",
               "strip_prefix": "rules_cc-624b5d59dfb45672d4239422fa1e3de1822ee110",
               "urls": [
@@ -3502,7 +3544,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~boringssl",
               "sha256": "534fa658bd845fd974b50b10f444d392dfd0d93768c4a51b61263fd37d851c40",
               "strip_prefix": "boringssl-b9232f9e27e5668bc0414879dcdedb2a59ea75f2",
               "urls": [
@@ -3515,7 +3556,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_gazelle",
               "sha256": "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb",
               "urls": [
                 "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
@@ -3527,7 +3567,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~opencensus_proto",
               "sha256": "b7e13f0b4259e80c3070b583c2f39e53153085a6918718b1c710caf7037572b0",
               "strip_prefix": "opencensus-proto-0.3.0/src",
               "urls": [
@@ -3535,7 +3574,7 @@
                 "https://github.com/census-instrumentation/opencensus-proto/archive/v0.3.0.tar.gz"
               ],
               "patches": [
-                "@@grpc~1.48.1.bcr.1//third_party:opencensus-proto.patch"
+                "@@grpc~//third_party:opencensus-proto.patch"
               ],
               "patch_args": [
                 "-p2"
@@ -3546,7 +3585,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_googlesource_code_re2",
               "sha256": "319a58a58d8af295db97dfeecc4e250179c5966beaa2d842a82f0a013b6a239b",
               "strip_prefix": "re2-8e08f47b11b413302749c0d8b17a1c94777495d5",
               "urls": [
@@ -3559,7 +3597,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_skylib",
               "urls": [
                 "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz",
                 "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz"
@@ -3571,8 +3608,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_github_cares_cares",
-              "build_file": "@@grpc~1.48.1.bcr.1//third_party:cares/cares.BUILD",
+              "build_file": "@@grpc~//third_party:cares/cares.BUILD",
               "sha256": "ec76c5e79db59762776bece58b69507d095856c37b81fd35bfb0958e74b61d93",
               "strip_prefix": "c-ares-6654436a307a5a686b008c1d4c93b0085da6e6d8",
               "urls": [
@@ -3585,7 +3621,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~build_bazel_apple_support",
               "sha256": "76df040ade90836ff5543888d64616e7ba6c3a7b33b916aa3a4b68f342d1b447",
               "urls": [
                 "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/apple_support/releases/download/0.11.0/apple_support.0.11.0.tar.gz",
@@ -3597,8 +3632,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~zlib",
-              "build_file": "@@grpc~1.48.1.bcr.1//third_party:zlib.BUILD",
+              "build_file": "@@grpc~//third_party:zlib.BUILD",
               "sha256": "ef47b0fbe646d69a2fc5ba012cb278de8e8946a8e9649f83a807cc05559f0eff",
               "strip_prefix": "zlib-21767c654d31d2dccdde4330529775c6c5fd5389",
               "urls": [
@@ -3611,7 +3645,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_google_googletest",
               "sha256": "c8de6c60e12ad014a28225c5247ee735861d85cf906df617f6a29954ca05f547",
               "strip_prefix": "googletest-0e402173c97aea7a00749e825b194bfede4f2e45",
               "urls": [
@@ -3623,7 +3656,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~envoy_api",
               "sha256": "c5807010b67033330915ca5a20483e30538ae5e689aa14b3631d6284beca4630",
               "strip_prefix": "data-plane-api-9c42588c956220b48eb3099d186487c2f04d32ec",
               "urls": [
@@ -3636,7 +3668,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~build_bazel_rules_apple",
               "sha256": "0052d452af7742c8f3a4e0929763388a66403de363775db7e90adecb2ba4944b",
               "urls": [
                 "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/rules_apple/releases/download/0.31.3/rules_apple.0.31.3.tar.gz",
@@ -3648,7 +3679,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_github_cncf_udpa",
               "sha256": "5bc8365613fe2f8ce6cc33959b7667b13b7fe56cb9d16ba740c06e1a7c4242fc",
               "strip_prefix": "xds-cb28da3451f158a947dfc45090fe92b07b243bc1",
               "urls": [
@@ -3661,7 +3691,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_github_google_benchmark",
               "sha256": "0b921a3bc39e35f4275c8dcc658af2391c150fb966102341287b0401ff2e6f21",
               "strip_prefix": "benchmark-0baacde3618ca617da95375e0af13ce1baadea47",
               "urls": [
@@ -3674,14 +3703,13 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_envoyproxy_protoc_gen_validate",
               "strip_prefix": "protoc-gen-validate-4694024279bdac52b77e22dc87808bd0fd732b69",
               "sha256": "1e490b98005664d149b379a9529a6aa05932b8a11b76b4cd86f3d22d76346f47",
               "urls": [
                 "https://github.com/envoyproxy/protoc-gen-validate/archive/4694024279bdac52b77e22dc87808bd0fd732b69.tar.gz"
               ],
               "patches": [
-                "@@grpc~1.48.1.bcr.1//third_party:protoc-gen-validate.patch"
+                "@@grpc~//third_party:protoc-gen-validate.patch"
               ],
               "patch_args": [
                 "-p1"
@@ -3692,7 +3720,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_google_absl",
               "sha256": "4208129b49006089ba1d6710845a45e31c59b0ab6bff9e5788a87f55c5abd602",
               "strip_prefix": "abseil-cpp-20220623.0",
               "urls": [
@@ -3705,7 +3732,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_toolchains",
               "sha256": "179ec02f809e86abf56356d8898c8bd74069f1bd7c56044050c2cd3d79d0e024",
               "strip_prefix": "bazel-toolchains-4.1.0",
               "urls": [
@@ -3718,7 +3744,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_compdb",
               "sha256": "bcecfd622c4ef272fd4ba42726a52e140b961c4eac23025f18b346c968a8cfb4",
               "strip_prefix": "bazel-compilation-database-0.4.5",
               "urls": [
@@ -3730,29 +3755,29 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "grpc~1.48.1.bcr.1",
+            "grpc~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "grpc~1.48.1.bcr.1",
+            "grpc~",
             "com_github_grpc_grpc",
-            "grpc~1.48.1.bcr.1"
+            "grpc~"
           ]
         ]
       }
     },
-    "@@grpc~1.48.1.bcr.1//bazel:grpc_extra_deps.bzl%grpc_extra_deps_ext": {
+    "@@grpc~//bazel:grpc_extra_deps.bzl%grpc_extra_deps_ext": {
       "general": {
-        "bzlTransitiveDigest": "a/Diq7iDATaU2rBTMgcQ5R3n2KlPdis6c56UUe28yBU=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "APB5VWiSPsu/YjQruUlTuHP2OspkSapZzpofR9h3kOc=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "com_google_googleapis_imports": {
-            "bzlFile": "@@grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_google_googleapis//:repository_rules.bzl",
+            "bzlFile": "@@grpc~~grpc_repo_deps_ext~com_google_googleapis//:repository_rules.bzl",
             "ruleClassName": "switched_rules",
             "attributes": {
-              "name": "grpc~1.48.1.bcr.1~grpc_extra_deps_ext~com_google_googleapis_imports",
               "rules": {
                 "proto_library_with_info": [
                   "",
@@ -3896,89 +3921,89 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "grpc~1.48.1.bcr.1",
+            "grpc~",
             "com_envoyproxy_protoc_gen_validate",
-            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_envoyproxy_protoc_gen_validate"
+            "grpc~~grpc_repo_deps_ext~com_envoyproxy_protoc_gen_validate"
           ],
           [
-            "grpc~1.48.1.bcr.1",
+            "grpc~",
             "com_google_googleapis",
-            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_google_googleapis"
+            "grpc~~grpc_repo_deps_ext~com_google_googleapis"
           ],
           [
-            "grpc~1.48.1.bcr.1",
+            "grpc~",
             "com_google_protobuf",
-            "protobuf~21.7"
+            "protobuf~"
           ],
           [
-            "grpc~1.48.1.bcr.1",
+            "grpc~",
             "envoy_api",
-            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~envoy_api"
+            "grpc~~grpc_repo_deps_ext~envoy_api"
           ],
           [
-            "grpc~1.48.1.bcr.1",
+            "grpc~",
             "io_bazel_rules_go",
-            "rules_go~0.39.1"
+            "rules_go~"
           ],
           [
-            "grpc~1.48.1.bcr.1",
+            "grpc~",
             "upb",
-            "upb~0.0.0-20220923-a547704"
+            "upb~"
           ],
           [
-            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_gazelle",
+            "grpc~~grpc_repo_deps_ext~bazel_gazelle",
             "bazel_gazelle",
-            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_gazelle"
+            "grpc~~grpc_repo_deps_ext~bazel_gazelle"
           ],
           [
-            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_gazelle",
+            "grpc~~grpc_repo_deps_ext~bazel_gazelle",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_envoyproxy_protoc_gen_validate",
+            "grpc~~grpc_repo_deps_ext~com_envoyproxy_protoc_gen_validate",
             "bazel_gazelle",
-            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_gazelle"
+            "grpc~~grpc_repo_deps_ext~bazel_gazelle"
           ],
           [
-            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~envoy_api",
+            "grpc~~grpc_repo_deps_ext~envoy_api",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~envoy_api",
+            "grpc~~grpc_repo_deps_ext~envoy_api",
             "envoy_api",
-            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~envoy_api"
+            "grpc~~grpc_repo_deps_ext~envoy_api"
           ],
           [
-            "protobuf~21.7",
+            "protobuf~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_go~0.39.1",
+            "rules_go~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "upb~0.0.0-20220923-a547704",
+            "upb~",
             "bazel_tools",
             "bazel_tools"
           ]
         ]
       }
     },
-    "@@rules_go~0.39.1//go:extensions.bzl%go_sdk": {
+    "@@rules_go~//go:extensions.bzl%go_sdk": {
       "general": {
-        "bzlTransitiveDigest": "cvuDQzKTBy1BBsQPA+7jKTCEaEg3uqu2SQX9x2Z1vz4=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "k4MEsADgBfRC+sbMqB3lZL0JpdsCxlwSYO+z9zn9Y80=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "go_default_sdk": {
-            "bzlFile": "@@rules_go~0.39.1//go/private:sdk.bzl",
+            "bzlFile": "@@rules_go~//go/private:sdk.bzl",
             "ruleClassName": "go_download_sdk_rule",
             "attributes": {
-              "name": "rules_go~0.39.1~go_sdk~go_default_sdk",
               "goos": "",
               "goarch": "",
               "sdks": {},
@@ -3989,10 +4014,9 @@
             }
           },
           "go_toolchains": {
-            "bzlFile": "@@rules_go~0.39.1//go/private:sdk.bzl",
+            "bzlFile": "@@rules_go~//go/private:sdk.bzl",
             "ruleClassName": "go_multiple_toolchains",
             "attributes": {
-              "name": "rules_go~0.39.1~go_sdk~go_toolchains",
               "prefixes": [
                 "_0000_go_default_sdk_"
               ],
@@ -4016,24 +4040,24 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_go~0.39.1",
+            "rules_go~",
             "bazel_tools",
             "bazel_tools"
           ]
         ]
       }
     },
-    "@@rules_go~0.39.1//go/private:extensions.bzl%non_module_dependencies": {
+    "@@rules_go~//go/private:extensions.bzl%non_module_dependencies": {
       "general": {
-        "bzlTransitiveDigest": "CamLV5C1Q66aY4Gu2ce5shMFpOJV/A+fmw4qzuGHmJk=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "n/KyfNdKeML6sHRHvHLrPCzPU5vSJfn9Z5b0n2xjRbQ=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "org_golang_x_xerrors": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_go~0.39.1~non_module_dependencies~org_golang_x_xerrors",
               "urls": [
                 "https://mirror.bazel.build/github.com/golang/xerrors/archive/04be3eba64a22a838cdb17b8dca15a52871c08b4.zip",
                 "https://github.com/golang/xerrors/archive/04be3eba64a22a838cdb17b8dca15a52871c08b4.zip"
@@ -4041,7 +4065,7 @@
               "sha256": "ffad2b06ef2e09d040da2ff08077865e99ab95d4d0451737fc8e33706bb01634",
               "strip_prefix": "xerrors-04be3eba64a22a838cdb17b8dca15a52871c08b4",
               "patches": [
-                "@@rules_go~0.39.1//third_party:org_golang_x_xerrors-gazelle.patch"
+                "@@rules_go~//third_party:org_golang_x_xerrors-gazelle.patch"
               ],
               "patch_args": [
                 "-p1"
@@ -4049,17 +4073,14 @@
             }
           },
           "gogo_special_proto": {
-            "bzlFile": "@@rules_go~0.39.1//proto:gogo.bzl",
+            "bzlFile": "@@rules_go~//proto:gogo.bzl",
             "ruleClassName": "gogo_special_proto",
-            "attributes": {
-              "name": "rules_go~0.39.1~non_module_dependencies~gogo_special_proto"
-            }
+            "attributes": {}
           },
           "org_golang_google_protobuf": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_go~0.39.1~non_module_dependencies~org_golang_google_protobuf",
               "sha256": "cb1a05581c33b3705ede6c08edf9b9c1dbc579559ba30f532704c324e42bf801",
               "urls": [
                 "https://mirror.bazel.build/github.com/protocolbuffers/protobuf-go/archive/refs/tags/v1.30.0.zip",
@@ -4067,7 +4088,7 @@
               ],
               "strip_prefix": "protobuf-go-1.30.0",
               "patches": [
-                "@@rules_go~0.39.1//third_party:org_golang_google_protobuf-gazelle.patch"
+                "@@rules_go~//third_party:org_golang_google_protobuf-gazelle.patch"
               ],
               "patch_args": [
                 "-p1"
@@ -4078,7 +4099,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_go~0.39.1~non_module_dependencies~com_github_mwitkow_go_proto_validators",
               "urls": [
                 "https://mirror.bazel.build/github.com/mwitkow/go-proto-validators/archive/refs/tags/v0.3.2.zip",
                 "https://github.com/mwitkow/go-proto-validators/archive/refs/tags/v0.3.2.zip"
@@ -4091,7 +4111,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_go~0.39.1~non_module_dependencies~org_golang_x_tools",
               "urls": [
                 "https://mirror.bazel.build/github.com/golang/tools/archive/refs/tags/v0.7.0.zip",
                 "https://github.com/golang/tools/archive/refs/tags/v0.7.0.zip"
@@ -4099,8 +4118,8 @@
               "sha256": "9f20a20f29f4008d797a8be882ef82b69cf8f7f2b96dbdfe3814c57d8280fa4b",
               "strip_prefix": "tools-0.7.0",
               "patches": [
-                "@@rules_go~0.39.1//third_party:org_golang_x_tools-deletegopls.patch",
-                "@@rules_go~0.39.1//third_party:org_golang_x_tools-gazelle.patch"
+                "@@rules_go~//third_party:org_golang_x_tools-deletegopls.patch",
+                "@@rules_go~//third_party:org_golang_x_tools-gazelle.patch"
               ],
               "patch_args": [
                 "-p1"
@@ -4111,7 +4130,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_go~0.39.1~non_module_dependencies~go_googleapis",
               "urls": [
                 "https://mirror.bazel.build/github.com/googleapis/googleapis/archive/83c3605afb5a39952bf0a0809875d41cf2a558ca.zip",
                 "https://github.com/googleapis/googleapis/archive/83c3605afb5a39952bf0a0809875d41cf2a558ca.zip"
@@ -4119,9 +4137,9 @@
               "sha256": "ba694861340e792fd31cb77274eacaf6e4ca8bda97707898f41d8bebfd8a4984",
               "strip_prefix": "googleapis-83c3605afb5a39952bf0a0809875d41cf2a558ca",
               "patches": [
-                "@@rules_go~0.39.1//third_party:go_googleapis-deletebuild.patch",
-                "@@rules_go~0.39.1//third_party:go_googleapis-directives.patch",
-                "@@rules_go~0.39.1//third_party:go_googleapis-gazelle.patch"
+                "@@rules_go~//third_party:go_googleapis-deletebuild.patch",
+                "@@rules_go~//third_party:go_googleapis-directives.patch",
+                "@@rules_go~//third_party:go_googleapis-gazelle.patch"
               ],
               "patch_args": [
                 "-E",
@@ -4133,7 +4151,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_go~0.39.1~non_module_dependencies~org_golang_google_genproto",
               "urls": [
                 "https://mirror.bazel.build/github.com/googleapis/go-genproto/archive/6ac7f18bb9d5eeeb13a9f1ae4f21e4374a1952f8.zip",
                 "https://github.com/googleapis/go-genproto/archive/6ac7f18bb9d5eeeb13a9f1ae4f21e4374a1952f8.zip"
@@ -4141,7 +4158,7 @@
               "sha256": "3470e7a89b24971b20c4bb8900a668df25279e4b741f72bc09418c1f22543215",
               "strip_prefix": "go-genproto-6ac7f18bb9d5eeeb13a9f1ae4f21e4374a1952f8",
               "patches": [
-                "@@rules_go~0.39.1//third_party:org_golang_google_genproto-gazelle.patch"
+                "@@rules_go~//third_party:org_golang_google_genproto-gazelle.patch"
               ],
               "patch_args": [
                 "-p1"
@@ -4152,7 +4169,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_go~0.39.1~non_module_dependencies~bazel_skylib",
               "urls": [
                 "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.4.1/bazel-skylib-1.4.1.tar.gz",
                 "https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.1/bazel-skylib-1.4.1.tar.gz"
@@ -4165,7 +4181,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_go~0.39.1~non_module_dependencies~com_github_gogo_protobuf",
               "urls": [
                 "https://mirror.bazel.build/github.com/gogo/protobuf/archive/refs/tags/v1.3.2.zip",
                 "https://github.com/gogo/protobuf/archive/refs/tags/v1.3.2.zip"
@@ -4173,7 +4188,7 @@
               "sha256": "f89f8241af909ce3226562d135c25b28e656ae173337b3e58ede917aa26e1e3c",
               "strip_prefix": "protobuf-1.3.2",
               "patches": [
-                "@@rules_go~0.39.1//third_party:com_github_gogo_protobuf-gazelle.patch"
+                "@@rules_go~//third_party:com_github_gogo_protobuf-gazelle.patch"
               ],
               "patch_args": [
                 "-p1"
@@ -4184,7 +4199,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_go~0.39.1~non_module_dependencies~com_github_golang_protobuf",
               "urls": [
                 "https://mirror.bazel.build/github.com/golang/protobuf/archive/refs/tags/v1.5.3.zip",
                 "https://github.com/golang/protobuf/archive/refs/tags/v1.5.3.zip"
@@ -4192,7 +4206,7 @@
               "sha256": "2dced4544ae5372281e20f1e48ca76368355a01b31353724718c4d6e3dcbb430",
               "strip_prefix": "protobuf-1.5.3",
               "patches": [
-                "@@rules_go~0.39.1//third_party:com_github_golang_protobuf-gazelle.patch"
+                "@@rules_go~//third_party:com_github_golang_protobuf-gazelle.patch"
               ],
               "patch_args": [
                 "-p1"
@@ -4200,10 +4214,9 @@
             }
           },
           "io_bazel_rules_nogo": {
-            "bzlFile": "@@rules_go~0.39.1//go/private:nogo.bzl",
+            "bzlFile": "@@rules_go~//go/private:nogo.bzl",
             "ruleClassName": "go_register_nogo",
             "attributes": {
-              "name": "rules_go~0.39.1~non_module_dependencies~io_bazel_rules_nogo",
               "nogo": "@io_bazel_rules_go//:default_nogo"
             }
           },
@@ -4211,13 +4224,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_go~0.39.1~non_module_dependencies~com_github_golang_mock",
               "urls": [
                 "https://mirror.bazel.build/github.com/golang/mock/archive/refs/tags/v1.7.0-rc.1.zip",
                 "https://github.com/golang/mock/archive/refs/tags/v1.7.0-rc.1.zip"
               ],
               "patches": [
-                "@@rules_go~0.39.1//third_party:com_github_golang_mock-gazelle.patch"
+                "@@rules_go~//third_party:com_github_golang_mock-gazelle.patch"
               ],
               "patch_args": [
                 "-p1"
@@ -4230,7 +4242,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_go~0.39.1~non_module_dependencies~org_golang_x_sys",
               "urls": [
                 "https://mirror.bazel.build/github.com/golang/sys/archive/refs/tags/v0.6.0.zip",
                 "https://github.com/golang/sys/archive/refs/tags/v0.6.0.zip"
@@ -4238,7 +4249,7 @@
               "sha256": "7f2399398b2eb4f1f495cc754d6353566e0ad934ee0eb46505e55162e0def56d",
               "strip_prefix": "sys-0.6.0",
               "patches": [
-                "@@rules_go~0.39.1//third_party:org_golang_x_sys-gazelle.patch"
+                "@@rules_go~//third_party:org_golang_x_sys-gazelle.patch"
               ],
               "patch_args": [
                 "-p1"
@@ -4248,32 +4259,31 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_go~0.39.1",
+            "rules_go~",
             "bazel_tools",
             "bazel_tools"
           ]
         ]
       }
     },
-    "@@rules_graalvm~0.10.3//:extensions.bzl%graalvm": {
+    "@@rules_graalvm~//:extensions.bzl%graalvm": {
       "general": {
         "bzlTransitiveDigest": "RNOMan/EiPbz5i2nh2YxhbeTAOvTd9ReDe7arDK0PeY=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "graalvm_toolchains": {
-            "bzlFile": "@@rules_graalvm~0.10.3//internal:graalvm_bindist.bzl",
+            "bzlFile": "@@rules_graalvm~//internal:graalvm_bindist.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_graalvm~0.10.3~graalvm~graalvm_toolchains",
-              "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"graalvm_20\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"20\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"toolchain_gvm\",\n    actual = \"gvm\",\n    visibility = [\"//visibility:public\"],\n)\ntoolchain(\n    name = \"gvm\",\n    exec_compatible_with = [\n        \n    ],\n    target_compatible_with = [\n        \n    ],\n    toolchain = \"@graalvm//:gvm\",\n    toolchain_type = \"@rules_graalvm//graalvm/toolchain\",\n    visibility = [\"//visibility:public\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@graalvm//:jdk\",\n    visibility = [\"//visibility:public\"],\n)\n\n"
+              "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"graalvm_20\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"20\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"toolchain_gvm\",\n    actual = \"gvm\",\n    visibility = [\"//visibility:public\"],\n)\ntoolchain(\n    name = \"gvm\",\n    exec_compatible_with = [\n        \n    ],\n    target_compatible_with = [\n        \n    ],\n    toolchain = \"@graalvm//:gvm\",\n    toolchain_type = \"@rules_graalvm//graalvm/toolchain\",\n    visibility = [\"//visibility:public\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@graalvm//:jdk\",\n    visibility = [\"//visibility:public\"],\n)\n\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@graalvm//:jdk\",\n    visibility = [\"//visibility:public\"],\n)\n\n"
             }
           },
           "graalvm": {
-            "bzlFile": "@@rules_graalvm~0.10.3//internal:graalvm_bindist.bzl",
+            "bzlFile": "@@rules_graalvm~//internal:graalvm_bindist.bzl",
             "ruleClassName": "_graalvm_bindist_repository",
             "attributes": {
-              "name": "rules_graalvm~0.10.3~graalvm~graalvm",
               "version": "20.0.2",
               "java_version": "20",
               "distribution": "ce",
@@ -4284,52 +4294,54 @@
             }
           }
         },
-        "recordedRepoMappingEntries": []
+        "recordedRepoMappingEntries": [
+          [
+            "rules_graalvm~",
+            "bazel_skylib",
+            "bazel_skylib~"
+          ]
+        ]
       }
     },
-    "@@rules_java~7.4.0//java:extensions.bzl%toolchains": {
+    "@@rules_java~//java:extensions.bzl%toolchains": {
       "general": {
-        "bzlTransitiveDigest": "aBRZna7UIPTRv5GXYZ2u+AfFtxUOl9IjgmCeWzNSieQ=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "tJHbmWnq7m+9eUBnUdv7jZziQ26FmcGL9C5/hU3Q9UQ=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "remotejdk21_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk21_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_s390x_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_s390x_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\n"
             }
           },
           "remotejdk17_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk21_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk21_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\n"
             }
           },
@@ -4337,7 +4349,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk21_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
               "sha256": "e8260516de8b60661422a725f1df2c36ef888f6fb35393566b00e7325db3d04e",
               "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-macosx_aarch64",
@@ -4348,10 +4359,9 @@
             }
           },
           "remotejdk17_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux//:jdk\",\n)\n"
             }
           },
@@ -4359,7 +4369,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "314b04568ec0ae9b36ba03c9cbd42adc9e1265f74678923b19297d66eb84dcca",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64",
@@ -4373,7 +4382,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remote_java_tools_windows",
               "sha256": "fe2f88169696d6c6fc6e90ba61bb46be7d0ae3693cbafdf336041bf56679e8d1",
               "urls": [
                 "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_windows-v13.4.zip",
@@ -4385,7 +4393,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "43408193ce2fa0862819495b5ae8541085b95660153f2adcf91a52d3a1710e83",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-win_x64",
@@ -4396,10 +4403,9 @@
             }
           },
           "remotejdk11_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win//:jdk\",\n)\n"
             }
           },
@@ -4407,7 +4413,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "54174439f2b3fddd11f1048c397fe7bb45d4c9d66d452d6889b013d04d21c4de",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_aarch64",
@@ -4421,7 +4426,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "b9482f2304a1a68a614dfacddcf29569a72f0fac32e6c74f83dc1b9a157b8340",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_x64",
@@ -4432,18 +4436,16 @@
             }
           },
           "remotejdk11_linux_s390x_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_s390x_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\n"
             }
           },
           "remotejdk11_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux//:jdk\",\n)\n"
             }
           },
@@ -4451,7 +4453,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "bcaab11cfe586fae7583c6d9d311c64384354fb2638eb9a012eca4c3f1a1d9fd",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_x64",
@@ -4465,7 +4466,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_win_arm64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2",
               "strip_prefix": "jdk-11.0.13+8",
@@ -4478,7 +4478,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "640453e8afe8ffe0fb4dceb4535fb50db9c283c64665eebb0ba68b19e65f4b1f",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_x64",
@@ -4492,7 +4491,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk21_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
               "sha256": "3ad8fe288eb57d975c2786ae453a036aa46e47ab2ac3d81538ebae2a54d3c025",
               "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-macosx_x64",
@@ -4503,18 +4501,16 @@
             }
           },
           "remotejdk21_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk21_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk17_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\n"
             }
           },
@@ -4522,7 +4518,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "192f2afca57701de6ec496234f7e45d971bf623ff66b8ee4a5c81582054e5637",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_x64",
@@ -4533,18 +4528,16 @@
             }
           },
           "remotejdk11_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk11_linux_ppc64le_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_ppc64le_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\n"
             }
           },
@@ -4552,7 +4545,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk21_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
               "sha256": "5ad730fbee6bb49bfff10bf39e84392e728d89103d3474a7e5def0fd134b300a",
               "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-linux_x64",
@@ -4566,7 +4558,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remote_java_tools_linux",
               "sha256": "ba10f09a138cf185d04cbc807d67a3da42ab13d618c5d1ce20d776e199c33a39",
               "urls": [
                 "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_linux-v13.4.zip",
@@ -4578,7 +4569,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk21_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
               "sha256": "f7cc15ca17295e69c907402dfe8db240db446e75d3b150da7bf67243cded93de",
               "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-win_x64",
@@ -4592,7 +4582,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk21_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
               "sha256": "ce7df1af5d44a9f455617c4b8891443fbe3e4b269c777d8b82ed66f77167cfe0",
               "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-linux_aarch64",
@@ -4603,10 +4592,9 @@
             }
           },
           "remotejdk11_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\n"
             }
           },
@@ -4614,7 +4602,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_s390x",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b",
               "strip_prefix": "jdk-11.0.15+10",
@@ -4628,7 +4615,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "6531cef61e416d5a7b691555c8cf2bdff689201b8a001ff45ab6740062b44313",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64",
@@ -4639,10 +4625,9 @@
             }
           },
           "remotejdk17_win_arm64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_win_arm64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\n"
             }
           },
@@ -4650,7 +4635,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a34b404f87a08a61148b38e1416d837189e1df7a040d949e743633daf4695a3c",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_x64",
@@ -4661,18 +4645,16 @@
             }
           },
           "remotejdk11_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_ppc64le_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_ppc64le_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\n"
             }
           },
@@ -4680,7 +4662,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_win_arm64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "6802c99eae0d788e21f52d03cab2e2b3bf42bc334ca03cbf19f71eb70ee19f85",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_aarch64",
@@ -4694,7 +4675,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remote_java_tools_darwin_arm64",
               "sha256": "076a7e198ad077f8c7d997986ef5102427fae6bbfce7a7852d2e080ed8767528",
               "urls": [
                 "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_darwin_arm64-v13.4.zip",
@@ -4706,7 +4686,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_ppc64le",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "00a4c07603d0218cd678461b5b3b7e25b3253102da4022d31fc35907f21a2efd",
               "strip_prefix": "jdk-17.0.8.1+1",
@@ -4717,26 +4696,23 @@
             }
           },
           "remotejdk21_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk21_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk11_win_arm64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_win_arm64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\n"
             }
           },
           "local_jdk": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:local_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:local_java_repository.bzl",
             "ruleClassName": "_local_java_repository_rule",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~local_jdk",
               "java_home": "",
               "version": "",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = {RUNTIME_VERSION},\n)\n"
@@ -4746,7 +4722,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remote_java_tools_darwin_x86_64",
               "sha256": "4523aec4d09c587091a2dae6f5c9bc6922c220f3b6030e5aba9c8f015913cc65",
               "urls": [
                 "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_darwin_x86_64-v13.4.zip",
@@ -4758,7 +4733,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remote_java_tools",
               "sha256": "e025fd260ac39b47c111f5212d64ec0d00d85dec16e49368aae82fc626a940cf",
               "urls": [
                 "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools-v13.4.zip",
@@ -4770,7 +4744,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_s390x",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "ffacba69c6843d7ca70d572489d6cc7ab7ae52c60f0852cedf4cf0d248b6fc37",
               "strip_prefix": "jdk-17.0.8.1+1",
@@ -4781,10 +4754,9 @@
             }
           },
           "remotejdk17_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk17_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win//:jdk\",\n)\n"
             }
           },
@@ -4792,7 +4764,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_ppc64le",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f",
               "strip_prefix": "jdk-11.0.15+10",
@@ -4806,7 +4777,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk11_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "7632bc29f8a4b7d492b93f3bc75a7b61630894db85d136456035ab2a24d38885",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_aarch64",
@@ -4817,43 +4787,42 @@
             }
           },
           "remotejdk21_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.4.0~toolchains~remotejdk21_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_win//:jdk\",\n)\n"
             }
           }
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_java~7.4.0",
+            "rules_java~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_java~7.4.0",
+            "rules_java~",
             "remote_java_tools",
-            "rules_java~7.4.0~toolchains~remote_java_tools"
+            "rules_java~~toolchains~remote_java_tools"
           ]
         ]
       }
     },
-    "@@rules_jvm_external~5.2//:extensions.bzl%maven": {
+    "@@rules_jvm_external~//:extensions.bzl%maven": {
       "general": {
-        "bzlTransitiveDigest": "TILQV9AUWIcMmCzpK8EI/A8Y1Nz/OC6X3NPuJDA23kg=",
-        "accumulatedFileDigests": {
-          "@@//:maven_install.json": "8330632656f46859ec2600c18fed75624e2a8f46b81c12db34c8afeba527e5be",
-          "@@rules_jvm_external~5.2//:rules_jvm_external_deps_install.json": "3ab1f67b0de4815df110bc72ccd6c77882b3b21d3d1e0a84445847b6ce3235a3",
-          "@@//src/tools/android:maven_android_install.json": "09bff3e33d291336046f7c9201630fb5e014f0e60b78b6f09b84e4f5f73ed04f"
+        "bzlTransitiveDigest": "B6t/mRhE/mRDl5qa+DdAZxxx+S+k0GCqCtP1EHDa3sI=",
+        "recordedFileInputs": {
+          "@@//src/tools/android/maven_android_install.json": "09bff3e33d291336046f7c9201630fb5e014f0e60b78b6f09b84e4f5f73ed04f",
+          "@@rules_jvm_external~//rules_jvm_external_deps_install.json": "3ab1f67b0de4815df110bc72ccd6c77882b3b21d3d1e0a84445847b6ce3235a3",
+          "@@//maven_install.json": "8330632656f46859ec2600c18fed75624e2a8f46b81c12db34c8afeba527e5be"
         },
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "com_google_api_gax_1_60_0": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_api_gax_1_60_0",
               "sha256": "02f37d4ff1a7b8d71dff8064cf9568aa4f4b61bcc4485085d16130f32afa5a79",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/gax/1.60.0/gax-1.60.0.jar",
@@ -4866,7 +4835,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_http_client_google_http_client_appengine_1_38_0",
               "sha256": "f97b495fd97ac3a3d59099eb2b55025f4948230da15a076f189b9cff37c6b4d2",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-appengine/1.38.0/google-http-client-appengine-1.38.0.jar",
@@ -4879,7 +4847,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_ryanharter_auto_value_auto_value_gson_factory_1_3_1",
               "sha256": "5a76c3d401c984999d59868f08df05a15613d1428f7764fed80b722e2a277f6c",
               "urls": [
                 "https://repo1.maven.org/maven2/com/ryanharter/auto/value/auto-value-gson-factory/1.3.1/auto-value-gson-factory-1.3.1.jar"
@@ -4891,7 +4858,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_auth_google_auth_library_oauth2_http_0_22_0",
               "sha256": "1722d895c42dc42ea1d1f392ddbec1fbb28f7a979022c3a6c29acc39cc777ad1",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.22.0/google-auth-library-oauth2-http-0.22.0.jar",
@@ -4904,7 +4870,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_grpc_grpc_protobuf_1_48_1",
               "sha256": "6ab68b0a3bb3834af44208df058be4631425b56ef95f9b9412aa21df3311e8d3",
               "urls": [
                 "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf/1.48.1/grpc-protobuf-1.48.1.jar"
@@ -4916,7 +4881,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_jimfs_jimfs_1_1",
               "sha256": "c4828e28d7c0a930af9387510b3bada7daa5c04d7c25a75c7b8b081f1c257ddd",
               "urls": [
                 "https://dl.google.com/android/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar",
@@ -4929,7 +4893,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_googlecode_json_simple_json_simple_1_1",
               "sha256": "2d9484f4c649f708f47f9a479465fc729770ee65617dca3011836602264f6439",
               "urls": [
                 "https://dl.google.com/android/maven2/com/googlecode/json-simple/json-simple/1.1/json-simple-1.1.jar",
@@ -4942,7 +4905,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_github_kevinstern_software_and_algorithms_1_0",
               "sha256": "61ab82439cef37343b14f53154c461619375373a56b9338e895709fb54e0864c",
               "urls": [
                 "https://repo1.maven.org/maven2/com/github/kevinstern/software-and-algorithms/1.0/software-and-algorithms-1.0.jar"
@@ -4954,7 +4916,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_jimfs_jimfs_1_2",
               "sha256": "de16d5c8489729a8512f1a02fbd81f58f89249b72066987da4cc5c87ecb9f72d",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/jimfs/jimfs/1.2/jimfs-1.2.jar"
@@ -4966,7 +4927,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_reactivestreams_reactive_streams_1_0_3",
               "sha256": "1dee0481072d19c929b623e155e14d2f6085dc011529a0a0dbefc84cf571d865",
               "urls": [
                 "https://repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar"
@@ -4978,7 +4938,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_annotations_30_1_3",
               "sha256": "630ab4c6f211fa1c0f5c884152cb6311360f1b796442196c287a658645a99645",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/annotations/30.1.3/annotations-30.1.3.jar",
@@ -4991,7 +4950,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_4_1_72_Final",
               "sha256": "c5fb68e9a65b6e8a516adfcb9fa323479ee7b4d9449d8a529d2ecab3d3711d5a",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.72.Final/netty-transport-4.1.72.Final.jar",
@@ -5004,7 +4962,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_ow2_asm_asm_util_9_1",
               "sha256": "380e2ecd16f7cc0f1a76ba9ba049179b5760a57b282a87a4c653caeff2cd5bd6",
               "urls": [
                 "https://dl.google.com/android/maven2/org/ow2/asm/asm-util/9.1/asm-util-9.1.jar",
@@ -5017,7 +4974,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_ow2_asm_asm_util_9_2",
               "sha256": "ff5b3cd331ae8a9a804768280da98f50f424fef23dd3c788bb320e08c94ee598",
               "urls": [
                 "https://repo1.maven.org/maven2/org/ow2/asm/asm-util/9.2/asm-util-9.2.jar"
@@ -5029,7 +4985,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_opencensus_opencensus_api_0_24_0",
               "sha256": "f561b1cc2673844288e596ddf5bb6596868a8472fd2cb8993953fc5c034b2352",
               "urls": [
                 "https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar",
@@ -5042,7 +4997,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~javax_activation_javax_activation_api_1_2_0",
               "sha256": "43fdef0b5b6ceb31b0424b208b930c74ab58fac2ceeb7b3f6fd3aeb8b5ca4393",
               "urls": [
                 "https://repo1.maven.org/maven2/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar"
@@ -5054,7 +5008,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~it_unimi_dsi_fastutil_8_4_0",
               "sha256": "2ad2824a4a0a0eb836b52ee2fc84ba2134f44bce7bfa54015ae3f31c710a3071",
               "urls": [
                 "https://dl.google.com/android/maven2/it/unimi/dsi/fastutil/8.4.0/fastutil-8.4.0.jar",
@@ -5067,7 +5020,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_build_manifest_merger_30_1_3",
               "sha256": "fb04445bd588ccd27dacd5e139abed42246f55e6785eebf66659857233207fac",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/build/manifest-merger/30.1.3/manifest-merger-30.1.3.jar",
@@ -5080,7 +5032,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_glassfish_jaxb_jaxb_runtime_2_3_2",
               "sha256": "e6e0a1e89fb6ff786279e6a0082d5cef52dc2ebe67053d041800737652b4fd1b",
               "urls": [
                 "https://dl.google.com/android/maven2/org/glassfish/jaxb/jaxb-runtime/2.3.2/jaxb-runtime-2.3.2.jar",
@@ -5093,7 +5044,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_netty_nio_client_2_17_183",
               "sha256": "a6d356f364c56d7b90006b0b7e503b8630010993a5587ce42e74b10b8dca2238",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/netty-nio-client/2.17.183/netty-nio-client-2.17.183.jar",
@@ -5106,7 +5056,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_guava_guava_31_1_jre",
               "sha256": "a42edc9cab792e39fe39bb94f3fca655ed157ff87a8af78e1d6ba5b07c4a00ab",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar",
@@ -5119,7 +5068,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_native_unix_common_4_1_72_Final",
               "sha256": "6f8f1cc29b5a234eeee9439a63eb3f03a5994aa540ff555cb0b2c88cefaf6877",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.72.Final/netty-transport-native-unix-common-4.1.72.Final.jar",
@@ -5132,7 +5080,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_grpc_grpc_context_1_48_1",
               "sha256": "2fb9007e12f768e9c968f9db292be4ea9cba2ef40fb8d179f3f8746ebdc73c1b",
               "urls": [
                 "https://repo1.maven.org/maven2/io/grpc/grpc-context/1.48.1/grpc-context-1.48.1.jar"
@@ -5144,7 +5091,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_opencensus_opencensus_contrib_http_util_0_24_0",
               "sha256": "7155273bbb1ed3d477ea33cf19d7bbc0b285ff395f43b29ae576722cf247000f",
               "urls": [
                 "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar",
@@ -5157,7 +5103,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_codec_4_1_93_Final",
               "sha256": "990c378168dc6364c6ff569701f4f2f122fffe8998b3e189eba4c4d868ed1084",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.93.Final/netty-codec-4.1.93.Final.jar"
@@ -5169,7 +5114,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_errorprone_error_prone_core_2_22_0",
               "sha256": "32a3df226a9a47f48dd895a9a89678d50ac404282c33400781c38757e8143f2c",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_core/2.22.0/error_prone_core-2.22.0.jar"
@@ -5181,7 +5125,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_apache_httpcomponents_httpcore_4_4_10",
               "sha256": "78ba1096561957db1b55200a159b648876430342d15d461277e62360da19f6fd",
               "urls": [
                 "https://dl.google.com/android/maven2/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar",
@@ -5194,7 +5137,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_build_builder_model_7_1_3",
               "sha256": "232604983a99b8372eb1a93e5183d48fc8fc69239e5e6229170be0e3320df430",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/build/builder-model/7.1.3/builder-model-7.1.3.jar",
@@ -5207,7 +5149,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_zipflinger_7_1_3",
               "sha256": "c6ed9458f3a85c847f168a7e3719bbd1e7484b97ec00096122ac8a9c4141665f",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/zipflinger/7.1.3/zipflinger-7.1.3.jar",
@@ -5220,7 +5161,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_apache_httpcomponents_httpcore_4_4_13",
               "sha256": "e06e89d40943245fcfa39ec537cdbfce3762aecde8f9c597780d2b00c2b43424",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar",
@@ -5233,7 +5173,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_turbine_turbine_0_4_0",
               "sha256": "1947490c23263ae1c0a95acceb7cb419724f236d14cfbbe5a558101e79842b28",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/turbine/turbine/0.4.0/turbine-0.4.0.jar"
@@ -5245,7 +5184,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_handler_proxy_4_1_93_Final",
               "sha256": "2ac5f7fbefa0b73ef783889069344d5515505a14b2303be693c5002c486df2b4",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-handler-proxy/4.1.93.Final/netty-handler-proxy-4.1.93.Final.jar"
@@ -5257,7 +5195,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_common_4_1_72_Final",
               "sha256": "8adb4c291260ceb2859a68c49f0adeed36bf49587608e2b81ecff6aaf06025e9",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-common/4.1.72.Final/netty-common-4.1.72.Final.jar",
@@ -5270,7 +5207,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_build_builder_7_1_3",
               "sha256": "4b33ed3941563ffc67f8aeedc480aafd958ec6cd1fe661f0b2b5b0d9c1423649",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/build/builder/7.1.3/builder-7.1.3.jar",
@@ -5283,7 +5219,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_sun_istack_istack_commons_runtime_3_0_8",
               "sha256": "4ffabb06be454a05e4398e20c77fa2b6308d4b88dfbef7ca30a76b5b7d5505ef",
               "urls": [
                 "https://dl.google.com/android/maven2/com/sun/istack/istack-commons-runtime/3.0.8/istack-commons-runtime-3.0.8.jar",
@@ -5296,7 +5231,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_protobuf_protobuf_java_3_10_0",
               "sha256": "161d7d61a8cb3970891c299578702fd079646e032329d6c2cabf998d191437c9",
               "urls": [
                 "https://dl.google.com/android/maven2/com/google/protobuf/protobuf-java/3.10.0/protobuf-java-3.10.0.jar",
@@ -5309,7 +5243,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_utils_2_17_183",
               "sha256": "7bd849bb5aa71bfdf6b849643736ecab3a7b3f204795804eefe5754104231ec6",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/utils/2.17.183/utils-2.17.183.jar",
@@ -5322,7 +5255,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_truth_extensions_truth_proto_extension_1_1_3",
               "sha256": "821993e4794e7034ae4a7b68105ef83f1913f0de6112f2fe4b5a7130f6a2bf49",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/truth/extensions/truth-proto-extension/1.1.3/truth-proto-extension-1.1.3.jar"
@@ -5334,7 +5266,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_errorprone_error_prone_type_annotations_2_22_0",
               "sha256": "6618b1d28df562622b77187b5c6dfc9c4c97851af73bd64dc0300efe9a439b20",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_type_annotations/2.22.0/error_prone_type_annotations-2.22.0.jar"
@@ -5346,7 +5277,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_native_kqueue_jar_osx_aarch_64_4_1_93_Final",
               "sha256": "6e9f04b5a16ba95b7371a735d60851602a3f3c549981edb74eeaf90e1b8fecce",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-native-kqueue/4.1.93.Final/netty-transport-native-kqueue-4.1.93.Final-osx-aarch_64.jar"
@@ -5355,10 +5285,9 @@
             }
           },
           "unpinned_maven": {
-            "bzlFile": "@@rules_jvm_external~5.2//:coursier.bzl",
+            "bzlFile": "@@rules_jvm_external~//:coursier.bzl",
             "ruleClassName": "coursier_fetch",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~unpinned_maven",
               "repositories": [
                 "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
               ],
@@ -5510,7 +5439,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_testing_compile_compile_testing_0_18",
               "sha256": "92cfbee5ad356a403d36688ab7bae74be65db9a117478ace34ac3ab4d1f9feb9",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/testing/compile/compile-testing/0.18/compile-testing-0.18.jar"
@@ -5522,7 +5450,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_native_kqueue_jar_osx_x86_64_4_1_93_Final",
               "sha256": "bf3a21e503d26a600e2469e98f5acaadb57c18f207a51e8a7073b875c5f50e03",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-native-kqueue/4.1.93.Final/netty-transport-native-kqueue-4.1.93.Final-osx-x86_64.jar"
@@ -5534,7 +5461,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_apache_tomcat_tomcat_annotations_api_8_0_5",
               "sha256": "748677bebb1651a313317dfd93e984ed8f8c9e345538fa8b0ab0cbb804631953",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/tomcat/tomcat-annotations-api/8.0.5/tomcat-annotations-api-8.0.5.jar"
@@ -5546,7 +5472,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_analytics_library_protos_30_1_3",
               "sha256": "6c7c2fc5ea590797db1532d7879b717cdd6328c8f74c0e32ddccdf392e94ffe6",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/analytics-library/protos/30.1.3/protos-30.1.3.jar",
@@ -5559,7 +5484,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_signflinger_7_1_3",
               "sha256": "899a4da318f83e6e8e64d3a51bf97add91b4c642a52f7162d3333c2f74ff4555",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/signflinger/7.1.3/signflinger-7.1.3.jar",
@@ -5572,7 +5496,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_checkerframework_checker_compat_qual_2_5_3",
               "sha256": "d76b9afea61c7c082908023f0cbc1427fab9abd2df915c8b8a3e7a509bccbc6d",
               "urls": [
                 "https://repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.3/checker-compat-qual-2.5.3.jar"
@@ -5584,7 +5507,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_ow2_asm_asm_9_2",
               "sha256": "b9d4fe4d71938df38839f0eca42aaaa64cf8b313d678da036f0cb3ca199b47f5",
               "urls": [
                 "https://repo1.maven.org/maven2/org/ow2/asm/asm/9.2/asm-9.2.jar"
@@ -5596,7 +5518,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_repository_30_1_3",
               "sha256": "11e2489f49f45b7709d080c2a82691ba42cfe8e13d3ac55487592fb550adb597",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/repository/30.1.3/repository-30.1.3.jar",
@@ -5609,7 +5530,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_checkerframework_checker_compat_qual_2_5_5",
               "sha256": "11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a",
               "urls": [
                 "https://repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar",
@@ -5622,7 +5542,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_ow2_asm_asm_9_1",
               "sha256": "cda4de455fab48ff0bcb7c48b4639447d4de859a7afc30a094a986f0936beba2",
               "urls": [
                 "https://dl.google.com/android/maven2/org/ow2/asm/asm/9.1/asm-9.1.jar",
@@ -5635,7 +5554,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_tcnative_boringssl_static_jar_linux_aarch_64_2_0_56_Final",
               "sha256": "8e5a30fc4a9514714367813f8027df4c9672746797b0699d83958d678e5cfeca",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.56.Final/netty-tcnative-boringssl-static-2.0.56.Final-linux-aarch_64.jar"
@@ -5647,7 +5565,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_googlejavaformat_google_java_format_1_15_0",
               "sha256": "4f546cfe159547ac3b9547daa9649e728f6abc254979c975f1cb9971793692c3",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/googlejavaformat/google-java-format/1.15.0/google-java-format-1.15.0.jar",
@@ -5660,7 +5577,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava",
               "sha256": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar"
@@ -5672,7 +5588,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_4_1_93_Final",
               "sha256": "a5a78019bc1cd43dbc3c7b7cdd3801912ca26d1f498fb560514fee497864ba96",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.93.Final/netty-transport-4.1.93.Final.jar"
@@ -5684,7 +5599,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_oauth_client_google_oauth_client_1_34_1",
               "sha256": "193edf97aefa28b93c5892bdc598bac34fa4c396588030084f290b1440e8b98a",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/oauth-client/google-oauth-client/1.34.1/google-oauth-client-1.34.1.jar"
@@ -5696,7 +5610,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_bouncycastle_bcprov_jdk15on_1_56",
               "sha256": "963e1ee14f808ffb99897d848ddcdb28fa91ddda867eb18d303e82728f878349",
               "urls": [
                 "https://dl.google.com/android/maven2/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.jar",
@@ -5709,7 +5622,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_flogger_flogger_system_backend_0_5_1",
               "sha256": "685de33b53eb313049bbeee7f4b7a80dd09e8e754e96b048a3edab2cebb36442",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/flogger/flogger-system-backend/0.5.1/flogger-system-backend-0.5.1.jar"
@@ -5721,7 +5633,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_jetbrains_kotlin_kotlin_reflect_1_4_32",
               "sha256": "dbf19e9cdaa9c3c170f3f6f6ce3922f38dfc1d7fa1cab5b7c23a19da8b5eec5b",
               "urls": [
                 "https://dl.google.com/android/maven2/org/jetbrains/kotlin/kotlin-reflect/1.4.32/kotlin-reflect-1.4.32.jar",
@@ -5734,7 +5645,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~androidx_databinding_databinding_compiler_3_4_0_alpha10",
               "sha256": "2d741da6cc20a3f0136b6fdce6babf92d8b5115b37b05c61dd8ce6832499d629",
               "urls": [
                 "https://dl.google.com/android/maven2/androidx/databinding/databinding-compiler/3.4.0-alpha10/databinding-compiler-3.4.0-alpha10.jar",
@@ -5747,7 +5657,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~net_sf_jopt_simple_jopt_simple_4_9",
               "sha256": "26c5856e954b5f864db76f13b86919b59c6eecf9fd930b96baa8884626baf2f5",
               "urls": [
                 "https://dl.google.com/android/maven2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.jar",
@@ -5760,7 +5669,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_auth_2_17_183",
               "sha256": "8820c6636e5c14efc29399fb5565ce50212b0c1f4ed720a025a2c402d54e0978",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/auth/2.17.183/auth-2.17.183.jar",
@@ -5773,7 +5681,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~jakarta_activation_jakarta_activation_api_1_2_1",
               "sha256": "8b0a0f52fa8b05c5431921a063ed866efaa41dadf2e3a7ee3e1961f2b0d9645b",
               "urls": [
                 "https://dl.google.com/android/maven2/jakarta/activation/jakarta.activation-api/1.2.1/jakarta.activation-api-1.2.1.jar",
@@ -5786,7 +5693,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_grpc_grpc_core_1_48_1",
               "sha256": "6d472ee6d2b60ef3f3e6801e7cd4dbec5fbbef81e883a0de1fbc55e6defe1cb7",
               "urls": [
                 "https://repo1.maven.org/maven2/io/grpc/grpc-core/1.48.1/grpc-core-1.48.1.jar"
@@ -5798,7 +5704,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_codec_http_4_1_93_Final",
               "sha256": "dacf78ce78ab2d29570325db4cd2451ea589639807de95881a0fa7155a9e6b55",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.93.Final/netty-codec-http-4.1.93.Final.jar"
@@ -5810,7 +5715,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_common_30_1_3",
               "sha256": "194ea15f8b182cca975544fb97d92bc1c6ceb6059f35250a5971ac3c306ebdcc",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/common/30.1.3/common-30.1.3.jar",
@@ -5823,7 +5727,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_codec_4_1_72_Final",
               "sha256": "5d8591ca271a1e9c224e8de3873aa9936acb581ee0db514e7dc18523df36d16c",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.72.Final/netty-codec-4.1.72.Final.jar",
@@ -5836,7 +5739,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_grpc_grpc_auth_1_48_1",
               "sha256": "ae63be5fe345ffdd5157284d90b783138eb31634e274182a8495242f9ad66a56",
               "urls": [
                 "https://repo1.maven.org/maven2/io/grpc/grpc-auth/1.48.1/grpc-auth-1.48.1.jar"
@@ -5848,7 +5750,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_apache_httpcomponents_httpmime_4_5_6",
               "sha256": "0b2b1102c18d3c7e05a77214b9b7501a6f6056174ae5604e0e256776eda7553e",
               "urls": [
                 "https://dl.google.com/android/maven2/org/apache/httpcomponents/httpmime/4.5.6/httpmime-4.5.6.jar",
@@ -5861,7 +5762,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_resolver_dns_4_1_93_Final",
               "sha256": "2744ccc1bbd653c9f65f5764ab211f51cae56aa6c2e2288850a9add9c805be56",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-resolver-dns/4.1.93.Final/netty-resolver-dns-4.1.93.Final.jar"
@@ -5873,7 +5773,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_github_ben_manes_caffeine_caffeine_3_0_5",
               "sha256": "8a9b54d3506a3b92ee46b217bcee79196b21ca6d52dc2967c686a205fb2f9c15",
               "urls": [
                 "https://repo1.maven.org/maven2/com/github/ben-manes/caffeine/caffeine/3.0.5/caffeine-3.0.5.jar"
@@ -5885,7 +5784,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_apache_httpcomponents_httpclient_4_5_6",
               "sha256": "c03f813195e7a80e3608d0ddd8da80b21696a4c92a6a2298865bf149071551c7",
               "urls": [
                 "https://dl.google.com/android/maven2/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar",
@@ -5898,7 +5796,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_tcnative_classes_2_0_46_Final",
               "sha256": "d3ec888dcc4ac7915bf88b417c5e04fd354f4311032a748a6882df09347eed9a",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-tcnative-classes/2.0.46.Final/netty-tcnative-classes-2.0.46.Final.jar",
@@ -5911,7 +5808,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_tcnative_boringssl_static_jar_osx_aarch_64_2_0_56_Final",
               "sha256": "3b962ce1361b479ec7375f04e5d149e7b374a99ecf4f583c9aa0f0a92e5fa415",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.56.Final/netty-tcnative-boringssl-static-2.0.56.Final-osx-aarch_64.jar"
@@ -5923,7 +5819,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_errorprone_error_prone_annotations_2_3_4",
               "sha256": "baf7d6ea97ce606c53e11b6854ba5f2ce7ef5c24dddf0afa18d1260bd25b002c",
               "urls": [
                 "https://dl.google.com/android/maven2/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar",
@@ -5936,7 +5831,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_api_api_common_1_10_1",
               "sha256": "2a033f24bb620383eda440ad307cb8077cfec1c7eadc684d65216123a1b9613a",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/api-common/1.10.1/api-common-1.10.1.jar",
@@ -5949,7 +5843,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_auth_google_auth_library_oauth2_http_1_6_0",
               "sha256": "2220f02fcfc480e3798bab43b2618d158319f9fcb357c9eb04b4a68117699808",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/1.6.0/google-auth-library-oauth2-http-1.6.0.jar"
@@ -5961,7 +5854,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~javax_annotation_javax_annotation_api_1_3_2",
               "sha256": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b",
               "urls": [
                 "https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar"
@@ -5973,7 +5865,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_common_4_1_93_Final",
               "sha256": "443bb316599fb16e3baeba2fb58881814d7ff0b7af176fe76e38071a6e86f8c0",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-common/4.1.93.Final/netty-common-4.1.93.Final.jar"
@@ -5985,7 +5876,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_j2objc_j2objc_annotations_1_3",
               "sha256": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b",
               "urls": [
                 "https://dl.google.com/android/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar",
@@ -5998,7 +5888,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_resolver_4_1_93_Final",
               "sha256": "e59770b66e81822e5d111ac4e544d7eb0c543e0a285f52628e53941acd8ed759",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.93.Final/netty-resolver-4.1.93.Final.jar"
@@ -6010,7 +5899,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_flogger_flogger_0_5_1",
               "sha256": "b5ecd1483e041197012786f749968a62063c1964d3ecfbf96ba92a95797bb8f5",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/flogger/flogger/0.5.1/flogger-0.5.1.jar"
@@ -6022,7 +5910,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_tcnative_boringssl_static_jar_linux_x86_64_2_0_56_Final",
               "sha256": "725c26b4dd58a1aa782020952ad949bdb607235dd20ee49e5a5875c15456ca86",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.56.Final/netty-tcnative-boringssl-static-2.0.56.Final-linux-x86_64.jar"
@@ -6034,7 +5921,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_truth_extensions_truth_liteproto_extension_1_1_3",
               "sha256": "71cce6284554e546d1b5ba48e310ee4b4050676f09fb0eced136d779284ff78d",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/truth/extensions/truth-liteproto-extension/1.1.3/truth-liteproto-extension-1.1.3.jar"
@@ -6046,7 +5932,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_ryanharter_auto_value_auto_value_gson_runtime_1_3_1",
               "sha256": "84ee23b7989d4bf19930b5bd3d03c0f2efb9e73bcee3a0208a9d1b2e1979c049",
               "urls": [
                 "https://repo1.maven.org/maven2/com/ryanharter/auto/value/auto-value-gson-runtime/1.3.1/auto-value-gson-runtime-1.3.1.jar"
@@ -6058,7 +5943,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_apache_velocity_velocity_1_7",
               "sha256": "ec92dae810034f4b46dbb16ef4364a4013b0efb24a8c5dd67435cae46a290d8e",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/velocity/velocity/1.7/velocity-1.7.jar"
@@ -6070,7 +5954,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_ow2_asm_asm_tree_9_2",
               "sha256": "aabf9bd23091a4ebfc109c1f3ee7cf3e4b89f6ba2d3f51c5243f16b3cffae011",
               "urls": [
                 "https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/9.2/asm-tree-9.2.jar"
@@ -6082,7 +5965,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_classes_epoll_4_1_93_Final",
               "sha256": "23722fa366ba017137a68c5e92fc3ee27bbb341c681ac4790f61c6adb7289e26",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll/4.1.93.Final/netty-transport-classes-epoll-4.1.93.Final.jar"
@@ -6094,7 +5976,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_ow2_asm_asm_tree_9_1",
               "sha256": "fd00afa49e9595d7646205b09cecb4a776a8ff0ba06f2d59b8f7bf9c704b4a73",
               "urls": [
                 "https://dl.google.com/android/maven2/org/ow2/asm/asm-tree/9.1/asm-tree-9.1.jar",
@@ -6107,7 +5988,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~androidx_databinding_databinding_compiler_common_3_4_0_alpha10",
               "sha256": "7e1ffef1c21064f2b065b17a69bc217270e14b6723311cf795f4276a05b83750",
               "urls": [
                 "https://dl.google.com/android/maven2/androidx/databinding/databinding-compiler-common/3.4.0-alpha10/databinding-compiler-common-3.4.0-alpha10.jar",
@@ -6120,7 +6000,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_codec_http2_4_1_72_Final",
               "sha256": "c89a70500f59e8563e720aaa808263a514bd9e2bd91ba84eab8c2ccb45f234b2",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.72.Final/netty-codec-http2-4.1.72.Final.jar",
@@ -6130,10 +6009,9 @@
             }
           },
           "rules_jvm_external_deps": {
-            "bzlFile": "@@rules_jvm_external~5.2//:coursier.bzl",
+            "bzlFile": "@@rules_jvm_external~//:coursier.bzl",
             "ruleClassName": "pinned_coursier_fetch",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~rules_jvm_external_deps",
               "repositories": [
                 "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
               ],
@@ -6151,7 +6029,7 @@
               "fetch_sources": false,
               "fetch_javadoc": false,
               "generate_compat_repositories": false,
-              "maven_install_json": "@@rules_jvm_external~5.2//:rules_jvm_external_deps_install.json",
+              "maven_install_json": "@@rules_jvm_external~//:rules_jvm_external_deps_install.json",
               "override_targets": {},
               "strict_visibility": false,
               "strict_visibility_value": [
@@ -6172,7 +6050,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_apache_commons_commons_compress_1_20",
               "sha256": "0aeb625c948c697ea7b205156e112363b59ed5e2551212cd4e460bdb72c7c06e",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20.jar"
@@ -6184,7 +6061,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_http_client_spi_2_17_183",
               "sha256": "fe7120f175df9e47ebcc5d946d7f40110faf2ba0a30364f3b935d5b8a5a6c3c6",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/http-client-spi/2.17.183/http-client-spi-2.17.183.jar",
@@ -6197,7 +6073,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_checkerframework_checker_qual_3_5_0",
               "sha256": "729990b3f18a95606fc2573836b6958bcdb44cb52bfbd1b7aa9c339cff35a5a4",
               "urls": [
                 "https://dl.google.com/android/maven2/org/checkerframework/checker-qual/3.5.0/checker-qual-3.5.0.jar",
@@ -6210,7 +6085,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_oauth_client_google_oauth_client_1_31_1",
               "sha256": "4ed4e2948251dbda66ce251bd7f3b32cd8570055e5cdb165a3c7aea8f43da0ff",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/oauth-client/google-oauth-client/1.31.1/google-oauth-client-1.31.1.jar",
@@ -6223,7 +6097,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_code_java_allocation_instrumenter_java_allocation_instrumenter_3_3_0",
               "sha256": "1ef5535a8bd41cf3072469f381b9ee6ab28275311a7499f53d6e52adf976fef0",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/code/java-allocation-instrumenter/java-allocation-instrumenter/3.3.0/java-allocation-instrumenter-3.3.0.jar"
@@ -6235,7 +6108,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_32",
               "sha256": "5f801e75ca27d8791c14b07943c608da27620d910a8093022af57f543d5d98b6",
               "urls": [
                 "https://dl.google.com/android/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.4.32/kotlin-stdlib-jdk7-1.4.32.jar",
@@ -6245,10 +6117,9 @@
             }
           },
           "maven_android": {
-            "bzlFile": "@@rules_jvm_external~5.2//:coursier.bzl",
+            "bzlFile": "@@rules_jvm_external~//:coursier.bzl",
             "ruleClassName": "pinned_coursier_fetch",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~maven_android",
               "repositories": [
                 "{ \"repo_url\": \"https://dl.google.com/android/maven2\" }",
                 "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
@@ -6287,7 +6158,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_code_gson_gson_2_8_6",
               "sha256": "c8fb4839054d280b3033f800d1f5a97de2f028eb8ba2eb458ad287e536f3f25f",
               "urls": [
                 "https://dl.google.com/android/maven2/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar",
@@ -6300,7 +6170,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_auto_service_auto_service_annotations_1_0_1",
               "sha256": "c7bec54b7b5588b5967e870341091c5691181d954cf2039f1bf0a6eeb837473b",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auto/service/auto-service-annotations/1.0.1/auto-service-annotations-1.0.1.jar"
@@ -6312,7 +6181,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_truth_extensions_truth_java8_extension_1_1_3",
               "sha256": "2bbd32dd2fa9470d17f1bbda4f52b33b60bce4574052c1d46610a0aa371fc446",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/truth/extensions/truth-java8-extension/1.1.3/truth-java8-extension-1.1.3.jar"
@@ -6324,7 +6192,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_annotations_2_17_183",
               "sha256": "8e4d72361ca805a0bd8bbd9017cd7ff77c8d170f2dd469c7d52d5653330bb3fd",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/annotations/2.17.183/annotations-2.17.183.jar",
@@ -6337,7 +6204,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_native_unix_common_jar_linux_aarch_64_4_1_93_Final",
               "sha256": "29675f1d9a2f09e426c0016e5fb89328d38afad0403f1bd1b98f985253d96ad8",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.93.Final/netty-transport-native-unix-common-4.1.93.Final-linux-aarch_64.jar"
@@ -6349,7 +6215,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_jetbrains_kotlin_kotlin_stdlib_1_4_32",
               "sha256": "13e9fd3e69dc7230ce0fc873a92a4e5d521d179bcf1bef75a6705baac3bfecba",
               "urls": [
                 "https://dl.google.com/android/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.4.32/kotlin-stdlib-1.4.32.jar",
@@ -6362,7 +6227,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_auto_value_auto_value_annotations_1_7_4",
               "sha256": "fedd59b0b4986c342f6ab2d182f2a4ee9fceb2c7e2d5bdc4dc764c92394a23d3",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.7.4/auto-value-annotations-1.7.4.jar",
@@ -6375,7 +6239,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_layoutlib_layoutlib_api_30_1_3",
               "sha256": "14d7ffdcedeea701c7316d6eba58ae32d329293de215c3b7218d14711ecfffaf",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/layoutlib/layoutlib-api/30.1.3/layoutlib-api-30.1.3.jar",
@@ -6388,7 +6251,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_classes_kqueue_4_1_93_Final",
               "sha256": "453fe595c3e12b9228b930b845140aaed93a9fb87d1a5d829c55b31d670def9f",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-classes-kqueue/4.1.93.Final/netty-transport-classes-kqueue-4.1.93.Final.jar"
@@ -6400,7 +6262,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~junit_junit_4_13_2",
               "sha256": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3",
               "urls": [
                 "https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar"
@@ -6412,7 +6273,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_auth_google_auth_library_credentials_0_22_0",
               "sha256": "42c76031276de5b520909e9faf88c5b3c9a722d69ee9cfdafedb1c52c355dfc5",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.22.0/google-auth-library-credentials-0.22.0.jar",
@@ -6425,7 +6285,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_guava_guava_32_1_1_jre",
               "sha256": "91fbba37f1c8b251cf9ea9e7d3a369eb79eb1e6a5df1d4bbf483dd0380740281",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/guava/guava/32.1.1-jre/guava-32.1.1-jre.jar"
@@ -6437,7 +6296,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_sdklib_30_1_3",
               "sha256": "edf456a67ada3154c9fd23f9829699e8b654dc7f33f2430b50839d6904760b48",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/sdklib/30.1.3/sdklib-30.1.3.jar",
@@ -6450,7 +6308,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_tukaani_xz_1_9",
               "sha256": "211b306cfc44f8f96df3a0a3ddaf75ba8c5289eed77d60d72f889bb855f535e5",
               "urls": [
                 "https://repo1.maven.org/maven2/org/tukaani/xz/1.9/xz-1.9.jar"
@@ -6462,7 +6319,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_guava_guava_testlib_31_1_jre",
               "sha256": "aadc71b10d5c3ac474dd16be84cfb18d257e584d1e0a59f8cab64ef4376226ce",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/guava/guava-testlib/31.1-jre/guava-testlib-31.1-jre.jar"
@@ -6474,7 +6330,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_http_client_google_http_client_1_42_0",
               "sha256": "82ca0e08171846d1768d5ac3f13244d6fe5a54102c14735ef40bf15d57d478e5",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/http-client/google-http-client/1.42.0/google-http-client-1.42.0.jar"
@@ -6486,7 +6341,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_sdk_common_30_1_3",
               "sha256": "6c44d6ffa3b1b34505fcb05422f08bd293391648dc974cc252ddc541fd9b27f5",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/sdk-common/30.1.3/sdk-common-30.1.3.jar",
@@ -6499,7 +6353,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_checkerframework_checker_qual_3_33_0",
               "sha256": "e316255bbfcd9fe50d165314b85abb2b33cb2a66a93c491db648e498a82c2de1",
               "urls": [
                 "https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0.jar"
@@ -6511,7 +6364,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_hamcrest_hamcrest_core_1_3",
               "sha256": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9",
               "urls": [
                 "https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"
@@ -6523,7 +6375,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_cloud_google_cloud_core_http_1_93_10",
               "sha256": "81ac67c14c7c4244d2b7db2607ad352416aca8d3bb2adf338964e8fea25b1b3c",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core-http/1.93.10/google-cloud-core-http-1.93.10.jar",
@@ -6536,7 +6387,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_native_unix_common_jar_osx_aarch_64_4_1_93_Final",
               "sha256": "6c6ecf73016d360e09a1cac31acd953f508309612f1b97d73db2ed0813d8bf14",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.93.Final/netty-transport-native-unix-common-4.1.93.Final-osx-aarch_64.jar"
@@ -6548,7 +6398,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_sweers_autotransient_autotransient_1_0_0",
               "sha256": "914ce84508410ee1419514925f93b1855a9f7a7b5b5d02fc07f411d2a45f1bba",
               "urls": [
                 "https://repo1.maven.org/maven2/io/sweers/autotransient/autotransient/1.0.0/autotransient-1.0.0.jar"
@@ -6557,10 +6406,9 @@
             }
           },
           "unpinned_rules_jvm_external_deps": {
-            "bzlFile": "@@rules_jvm_external~5.2//:coursier.bzl",
+            "bzlFile": "@@rules_jvm_external~//:coursier.bzl",
             "ruleClassName": "coursier_fetch",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~unpinned_rules_jvm_external_deps",
               "repositories": [
                 "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
               ],
@@ -6586,7 +6434,7 @@
               "strict_visibility_value": [
                 "@@//visibility:private"
               ],
-              "maven_install_json": "@@rules_jvm_external~5.2//:rules_jvm_external_deps_install.json",
+              "maven_install_json": "@@rules_jvm_external~//:rules_jvm_external_deps_install.json",
               "resolve_timeout": 600,
               "jetify": false,
               "jetify_include_list": [
@@ -6601,7 +6449,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_auth_google_auth_library_credentials_1_6_0",
               "sha256": "153fa3cdc153ac3ee25649e8037aeda4438256153d35acf3c27e83e4ee6165a4",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/1.6.0/google-auth-library-credentials-1.6.0.jar"
@@ -6613,7 +6460,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_tcnative_boringssl_static_jar_windows_x86_64_2_0_56_Final",
               "sha256": "b0d9505b09427ab655369506a802358966762edcb7cf08fc162dc2b368a2041c",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.56.Final/netty-tcnative-boringssl-static-2.0.56.Final-windows-x86_64.jar"
@@ -6625,7 +6471,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_aws_query_protocol_2_17_183",
               "sha256": "4dace03c76f80f3dec920cb3dedb2a95984c4366ef4fda728660cb90bed74848",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-query-protocol/2.17.183/aws-query-protocol-2.17.183.jar",
@@ -6638,7 +6483,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_errorprone_error_prone_check_api_2_22_0",
               "sha256": "1717bbf65757b8e1a83f3b0aa78c5ac25a6493008bc730091d404cf798fc0639",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_check_api/2.22.0/error_prone_check_api-2.22.0.jar"
@@ -6650,7 +6494,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_codec_http_4_1_72_Final",
               "sha256": "fa6fec88010bfaf6a7415b5364671b6b18ffb6b35a986ab97b423fd8c3a0174b",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.72.Final/netty-codec-http-4.1.72.Final.jar",
@@ -6663,7 +6506,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_googlecode_juniversalchardet_juniversalchardet_1_0_3",
               "sha256": "757bfe906193b8b651e79dc26cd67d6b55d0770a2cdfb0381591504f779d4a76",
               "urls": [
                 "https://dl.google.com/android/maven2/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar",
@@ -6676,7 +6518,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_opencensus_opencensus_contrib_http_util_0_31_1",
               "sha256": "3ea995b55a4068be22989b70cc29a4d788c2d328d1d50613a7a9afd13fdd2d0a",
               "urls": [
                 "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.31.1/opencensus-contrib-http-util-0.31.1.jar"
@@ -6688,7 +6529,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_flogger_google_extensions_0_5_1",
               "sha256": "8b0862cad85b9549f355fe383c6c63816d2f19529634e033ae06d0107ab110b9",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/flogger/google-extensions/0.5.1/google-extensions-0.5.1.jar"
@@ -6700,7 +6540,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_sun_activation_javax_activation_1_2_0",
               "sha256": "993302b16cd7056f21e779cc577d175a810bb4900ef73cd8fbf2b50f928ba9ce",
               "urls": [
                 "https://dl.google.com/android/maven2/com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar",
@@ -6713,7 +6552,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_ryanharter_auto_value_auto_value_gson_extension_1_3_1",
               "sha256": "261be84be30a56994e132d718a85efcd579197a2edb9426b84c5722c56955eca",
               "urls": [
                 "https://repo1.maven.org/maven2/com/ryanharter/auto/value/auto-value-gson-extension/1.3.1/auto-value-gson-extension-1.3.1.jar"
@@ -6725,7 +6563,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_truth_truth_1_1_3",
               "sha256": "fc0b67782289a2aabfddfdf99eff1dcd5edc890d49143fcd489214b107b8f4f3",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/truth/truth/1.1.3/truth-1.1.3.jar"
@@ -6737,7 +6574,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_guava_guava_30_1_jre",
               "sha256": "e6dd072f9d3fe02a4600688380bd422bdac184caf6fe2418cfdd0934f09432aa",
               "urls": [
                 "https://dl.google.com/android/maven2/com/google/guava/guava/30.1-jre/guava-30.1-jre.jar",
@@ -6750,7 +6586,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~net_bytebuddy_byte_buddy_agent_1_14_5",
               "sha256": "55f19862b870f5d85890ba5386b1b45e9bbc88d5fe1f819abe0c788b4929fa6b",
               "urls": [
                 "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent/1.14.5/byte-buddy-agent-1.14.5.jar"
@@ -6762,7 +6597,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_j2objc_j2objc_annotations_2_8",
               "sha256": "f02a95fa1a5e95edb3ed859fd0fb7df709d121a35290eff8b74dce2ab7f4d6ed",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8.jar"
@@ -6774,7 +6608,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_http_client_google_http_client_1_38_0",
               "sha256": "411f4a42519b6b78bdc0fcfdf74c9edcef0ee97afa4a667abe04045a508d6302",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/http-client/google-http-client/1.38.0/google-http-client-1.38.0.jar",
@@ -6787,7 +6620,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~net_java_dev_jna_jna_platform_5_6_0",
               "sha256": "9ecea8bf2b1b39963939d18b70464eef60c508fed8820f9dcaba0c35518eabf7",
               "urls": [
                 "https://dl.google.com/android/maven2/net/java/dev/jna/jna-platform/5.6.0/jna-platform-5.6.0.jar",
@@ -6800,7 +6632,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_analytics_library_shared_30_1_3",
               "sha256": "7c7d19727641e1fbbb61e8569712b3a0229e4e0352636b5745049d41e1a71e00",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/analytics-library/shared/30.1.3/shared-30.1.3.jar",
@@ -6813,7 +6644,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_code_findbugs_jsr305_3_0_2",
               "sha256": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
@@ -6825,7 +6655,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_errorprone_error_prone_annotation_2_22_0",
               "sha256": "554c42449c9920ea1f6baec1d1b8aaac404a88be653f7cb441ee059316f8a1d1",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotation/2.22.0/error_prone_annotation-2.22.0.jar"
@@ -6837,7 +6666,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_http_client_google_http_client_gson_1_42_0",
               "sha256": "cb852272c1cb0c8449d8b1a70f3e0f2c1efb2063e543183faa43078fb446f540",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-gson/1.42.0/google-http-client-gson-1.42.0.jar"
@@ -6849,7 +6677,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_protobuf_protobuf_java_util_3_13_0",
               "sha256": "d9de66b8c9445905dfa7064f6d5213d47ce88a20d34e21d83c4a94a229e14e62",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.13.0/protobuf-java-util-3.13.0.jar",
@@ -6862,7 +6689,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_mockito_mockito_core_5_4_0",
               "sha256": "b1689b06617ea01fd777bfaedbdde512faf083d639a049f79b388d5a4e96d2e5",
               "urls": [
                 "https://repo1.maven.org/maven2/org/mockito/mockito-core/5.4.0/mockito-core-5.4.0.jar"
@@ -6874,7 +6700,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_guava_failureaccess_1_0_1",
               "sha256": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar"
@@ -6886,7 +6711,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_opencensus_opencensus_api_0_31_1",
               "sha256": "f1474d47f4b6b001558ad27b952e35eda5cc7146788877fc52938c6eba24b382",
               "urls": [
                 "https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.31.1/opencensus-api-0.31.1.jar"
@@ -6898,7 +6722,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_grpc_grpc_context_1_33_1",
               "sha256": "99b8aea2b614fe0e61c3676e681259dc43c2de7f64620998e1a8435eb2976496",
               "urls": [
                 "https://repo1.maven.org/maven2/io/grpc/grpc-context/1.33.1/grpc-context-1.33.1.jar",
@@ -6911,7 +6734,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_api_grpc_proto_google_iam_v1_1_0_3",
               "sha256": "64cee7383a97e846da8d8e160e6c8fe30561e507260552c59e6ccfc81301fdc8",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-iam-v1/1.0.3/proto-google-iam-v1-1.0.3.jar",
@@ -6924,7 +6746,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_objenesis_objenesis_3_3",
               "sha256": "02dfd0b0439a5591e35b708ed2f5474eb0948f53abf74637e959b8e4ef69bfeb",
               "urls": [
                 "https://repo1.maven.org/maven2/org/objenesis/objenesis/3.3/objenesis-3.3.jar"
@@ -6936,7 +6757,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_metrics_spi_2_17_183",
               "sha256": "08a11dc8c4ba464beafbcc7ac05b8c724c1ccb93da99482e82a68540ac704e4a",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/metrics-spi/2.17.183/metrics-spi-2.17.183.jar",
@@ -6949,7 +6769,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_http_client_google_http_client_jackson2_1_38_0",
               "sha256": "e6504a82425fcc2168a4ca4175138ddcc085168daed8cdedb86d8f6fdc296e1e",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.38.0/google-http-client-jackson2-1.38.0.jar",
@@ -6962,7 +6781,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_build_apksig_7_1_3",
               "sha256": "095885c56af3e52e9c7d2ac9b6cf07a8e3bf7fedfbab3914c75c39677d346ada",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/build/apksig/7.1.3/apksig-7.1.3.jar",
@@ -6975,7 +6793,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_beust_jcommander_1_82",
               "sha256": "deeac157c8de6822878d85d0c7bc8467a19cc8484d37788f7804f039dde280b1",
               "urls": [
                 "https://repo1.maven.org/maven2/com/beust/jcommander/1.82/jcommander-1.82.jar"
@@ -6987,7 +6804,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~it_unimi_dsi_fastutil_7_2_1",
               "sha256": "d73dec5ec18f973f380869b6125d60f5cda77cf6e40e321bd06e0308ed0a40b7",
               "urls": [
                 "https://repo1.maven.org/maven2/it/unimi/dsi/fastutil/7.2.1/fastutil-7.2.1.jar"
@@ -6999,7 +6815,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~androidx_databinding_databinding_common_3_4_0_alpha10",
               "sha256": "1b2cfc3beaf6139e1851dd4a888cda8192ba0ad4be3de43450d5f30569845303",
               "urls": [
                 "https://dl.google.com/android/maven2/androidx/databinding/databinding-common/3.4.0-alpha10/databinding-common-3.4.0-alpha10.jar",
@@ -7012,7 +6827,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_third_party_jackson_core_2_17_183",
               "sha256": "1bc27c9960993c20e1ab058012dd1ae04c875eec9f0f08f2b2ca41e578dee9a4",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/third-party-jackson-core/2.17.183/third-party-jackson-core-2.17.183.jar",
@@ -7025,7 +6839,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~tools_profiler_async_profiler_3_0",
               "sha256": "8f798860049d01f4a2f853596d28c85d2983f0c098f165a32909b7da9c74209f",
               "urls": [
                 "https://repo1.maven.org/maven2/tools/profiler/async-profiler/3.0/async-profiler-3.0.jar"
@@ -7037,7 +6850,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_eventstream_eventstream_1_0_1",
               "sha256": "0c37d8e696117f02c302191b8110b0d0eb20fa412fce34c3a269ec73c16ce822",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar",
@@ -7050,7 +6862,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_threeten_threeten_extra_1_5_0",
               "sha256": "e7def554536188fbaf8aac1a0a2f956b039cbbb5696edc3b8336c442c56ae445",
               "urls": [
                 "https://repo1.maven.org/maven2/org/threeten/threeten-extra/1.5.0/threeten-extra-1.5.0.jar"
@@ -7062,7 +6873,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_codec_dns_4_1_93_Final",
               "sha256": "10a278b19d6393d5637f745007cb26d47dd16d468898dcc4a43e26d39c6cdd29",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec-dns/4.1.93.Final/netty-codec-dns-4.1.93.Final.jar"
@@ -7074,7 +6884,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_aws_xml_protocol_2_17_183",
               "sha256": "566bba05d49256fa6994efd68fa625ae05a62ea45ee74bb9130d20ea20988363",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-xml-protocol/2.17.183/aws-xml-protocol-2.17.183.jar",
@@ -7087,7 +6896,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_native_unix_common_jar_linux_x86_64_4_1_93_Final",
               "sha256": "8923a73ba8a373f7b994906f5902ba9f6bb59d181d4ad01576a6e0c5abb09b67",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.93.Final/netty-transport-native-unix-common-4.1.93.Final-linux-x86_64.jar"
@@ -7099,7 +6907,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_handler_4_1_93_Final",
               "sha256": "4e5f563ae14ed713381816d582f5fcfd0615aefb29203486cdfb782d8a00a02b",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.93.Final/netty-handler-4.1.93.Final.jar"
@@ -7111,7 +6918,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_databinding_baseLibrary_3_4_0_alpha10",
               "sha256": "1aed4f3e46bf83c80a1722ce6cc64a8133c4554a668c483f6b3d0f2c06dd7461",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/databinding/baseLibrary/3.4.0-alpha10/baseLibrary-3.4.0-alpha10.jar",
@@ -7124,7 +6930,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_codehaus_mojo_animal_sniffer_annotations_1_21",
               "sha256": "2f25841c937e24959a57b630e2c4b8525b3d0f536f2e511c9b2bed30b1651d54",
               "urls": [
                 "https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.21/animal-sniffer-annotations-1.21.jar"
@@ -7136,7 +6941,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_fasterxml_jackson_core_jackson_core_2_11_3",
               "sha256": "78cd0a6b936232e06dd3e38da8a0345348a09cd1ff9c4d844c6ee72c75cfc402",
               "urls": [
                 "https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.11.3/jackson-core-2.11.3.jar",
@@ -7149,7 +6953,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_cloud_google_cloud_core_1_93_10",
               "sha256": "832d74eca66f4601e162a8460d6f59f50d1d23f93c18b02654423b6b0d67c6ea",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core/1.93.10/google-cloud-core-1.93.10.jar",
@@ -7162,7 +6965,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_codec_http2_4_1_93_Final",
               "sha256": "d96cc09045a1341c6d47494352aa263b87b72fb1d2ea9eca161aa73820bfe8bb",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.93.Final/netty-codec-http2-4.1.93.Final.jar"
@@ -7174,7 +6976,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_buffer_4_1_93_Final",
               "sha256": "007c7d9c378df02d390567d0d7ddf542ffddb021b7313dbf502392113ffabb08",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.93.Final/netty-buffer-4.1.93.Final.jar"
@@ -7186,7 +6987,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~commons_lang_commons_lang_2_6",
               "sha256": "50f11b09f877c294d56f24463f47d28f929cf5044f648661c0f0cfbae9a2f49c",
               "urls": [
                 "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar"
@@ -7198,7 +6998,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_antlr_antlr4_4_5_3",
               "sha256": "a32de739cfdf515774e696f91aa9697d2e7731e5cb5045ca8a4b657f8b1b4fb4",
               "urls": [
                 "https://dl.google.com/android/maven2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.jar",
@@ -7211,7 +7010,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_tcnative_classes_2_0_56_Final",
               "sha256": "eede807f0dd5eb1ad74ea1ae1094430631da63fcde00d4dc20eb0cd048bb0ac3",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-tcnative-classes/2.0.56.Final/netty-tcnative-classes-2.0.56.Final.jar"
@@ -7223,7 +7021,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_classes_epoll_4_1_72_Final",
               "sha256": "e1528a9751c1285aa7beaf3a1eb0597151716426ce38598ac9bc0891209b9e68",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll/4.1.72.Final/netty-transport-classes-epoll-4.1.72.Final.jar",
@@ -7236,7 +7033,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_checkerframework_checker_qual_3_12_0",
               "sha256": "ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb",
               "urls": [
                 "https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar",
@@ -7249,7 +7045,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_regions_2_17_183",
               "sha256": "d3079395f3ffc07d04ffcce16fca29fb5968197f6e9ea3dbff6be297102b40a5",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/regions/2.17.183/regions-2.17.183.jar",
@@ -7262,7 +7057,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_http_client_google_http_client_apache_v2_1_42_0",
               "sha256": "1fc4964236b67cf3c5651d7ac1dff668f73b7810c7f1dc0862a0e5bc01608785",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-apache-v2/1.42.0/google-http-client-apache-v2-1.42.0.jar"
@@ -7274,7 +7068,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_perfmark_perfmark_api_0_25_0",
               "sha256": "2044542933fcdf40ad18441bec37646d150c491871157f288847e29cb81de4cb",
               "urls": [
                 "https://repo1.maven.org/maven2/io/perfmark/perfmark-api/0.25.0/perfmark-api-0.25.0.jar"
@@ -7286,7 +7079,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_handler_4_1_72_Final",
               "sha256": "9cb6012af7e06361d738ac4e3bdc49a158f8cf87d9dee0f2744056b7d99c28d5",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.72.Final/netty-handler-4.1.72.Final.jar",
@@ -7299,7 +7091,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_testparameterinjector_test_parameter_injector_1_0",
               "sha256": "c3d4c8d7055b6fd7f1047ab37e3d476709c492510d485f1bfb204a3c16f0351c",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/testparameterinjector/test-parameter-injector/1.0/test-parameter-injector-1.0.jar"
@@ -7311,7 +7102,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_grpc_grpc_api_1_48_1",
               "sha256": "aeb8d7a1361aa3d8f5a191580fa7f8cbc5ceb53137a4a698590f612f791e2c45",
               "urls": [
                 "https://repo1.maven.org/maven2/io/grpc/grpc-api/1.48.1/grpc-api-1.48.1.jar"
@@ -7323,7 +7113,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_ow2_asm_asm_analysis_9_2",
               "sha256": "878fbe521731c072d14d2d65b983b1beae6ad06fda0007b6a8bae81f73f433c4",
               "urls": [
                 "https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/9.2/asm-analysis-9.2.jar"
@@ -7335,7 +7124,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_ow2_asm_asm_analysis_9_1",
               "sha256": "81a88041b1b8beda5a8a99646098046c48709538270c49def68abff25ac3be34",
               "urls": [
                 "https://dl.google.com/android/maven2/org/ow2/asm/asm-analysis/9.1/asm-analysis-9.1.jar",
@@ -7348,7 +7136,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_squareup_javapoet_1_12_0",
               "sha256": "2b70cdfa8c9e997b4007035a266c273c0df341f9c57c9d0b45a680ae3fd882db",
               "urls": [
                 "https://repo1.maven.org/maven2/com/squareup/javapoet/1.12.0/javapoet-1.12.0.jar"
@@ -7357,10 +7144,9 @@
             }
           },
           "unpinned_maven_android": {
-            "bzlFile": "@@rules_jvm_external~5.2//:coursier.bzl",
+            "bzlFile": "@@rules_jvm_external~//:coursier.bzl",
             "ruleClassName": "coursier_fetch",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~unpinned_maven_android",
               "repositories": [
                 "{ \"repo_url\": \"https://dl.google.com/android/maven2\" }",
                 "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
@@ -7401,7 +7187,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_resolver_4_1_72_Final",
               "sha256": "6474598aab7cc9d8d6cfa06c05bd1b19adbf7f8451dbdd73070b33a6c60b1b90",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.72.Final/netty-resolver-4.1.72.Final.jar",
@@ -7414,7 +7199,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_protocol_core_2_17_183",
               "sha256": "10e7c4faa1f05e2d73055d0390dbd0bb6450e2e6cb85beda051b1e4693c826ce",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/protocol-core/2.17.183/protocol-core-2.17.183.jar",
@@ -7427,7 +7211,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_squareup_javapoet_1_8_0",
               "sha256": "8e108c92027bb428196f10fa11cffbe589f7648a6af2016d652279385fdfd789",
               "urls": [
                 "https://dl.google.com/android/maven2/com/squareup/javapoet/1.8.0/javapoet-1.8.0.jar",
@@ -7440,7 +7223,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_grpc_grpc_protobuf_lite_1_48_1",
               "sha256": "0a4c735bb80e342d418c0ef7d2add7793aaf72b91c449bde2769ea81f1869737",
               "urls": [
                 "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf-lite/1.48.1/grpc-protobuf-lite-1.48.1.jar"
@@ -7452,7 +7234,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_s3_2_17_183",
               "sha256": "ab073b91107a9e4ed9f030314077d137fe627e055ad895fabb036980a050e360",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/s3/2.17.183/s3-2.17.183.jar",
@@ -7465,7 +7246,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_squareup_javawriter_2_5_0",
               "sha256": "fcfb09fb0ea0aa97d3cfe7ea792398081348e468f126b3603cb3803f240197f0",
               "urls": [
                 "https://dl.google.com/android/maven2/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar",
@@ -7478,7 +7258,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_apache_httpcomponents_httpclient_4_5_13",
               "sha256": "6fe9026a566c6a5001608cf3fc32196641f6c1e5e1986d1037ccdbd5f31ef743",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar",
@@ -7491,7 +7270,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~net_sf_kxml_kxml2_2_3_0",
               "sha256": "f264dd9f79a1fde10ce5ecc53221eff24be4c9331c830b7d52f2f08a7b633de2",
               "urls": [
                 "https://dl.google.com/android/maven2/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar",
@@ -7504,7 +7282,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_code_gson_gson_2_9_0",
               "sha256": "c96d60551331a196dac54b745aa642cd078ef89b6f267146b705f2c2cbef052d",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar"
@@ -7516,7 +7293,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_buffer_4_1_72_Final",
               "sha256": "568ff7cd9d8e2284ec980730c88924f686642929f8f219a74518b4e64755f3a1",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.72.Final/netty-buffer-4.1.72.Final.jar",
@@ -7529,7 +7305,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~jakarta_xml_bind_jakarta_xml_bind_api_2_3_2",
               "sha256": "69156304079bdeed9fc0ae3b39389f19b3cc4ba4443bc80508995394ead742ea",
               "urls": [
                 "https://dl.google.com/android/maven2/jakarta/xml/bind/jakarta.xml.bind-api/2.3.2/jakarta.xml.bind-api-2.3.2.jar",
@@ -7542,7 +7317,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_pcollections_pcollections_3_1_4",
               "sha256": "34f579ba075c8da2c8a0fedd0f04e21eac2fb6c660d90d0fabb573e8b4dc6918",
               "urls": [
                 "https://repo1.maven.org/maven2/org/pcollections/pcollections/3.1.4/pcollections-3.1.4.jar"
@@ -7554,7 +7328,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~xerces_xercesImpl_2_12_0",
               "sha256": "b50d3a4ca502faa4d1c838acb8aa9480446953421f7327e338c5dda3da5e76d0",
               "urls": [
                 "https://dl.google.com/android/maven2/xerces/xercesImpl/2.12.0/xercesImpl-2.12.0.jar",
@@ -7567,7 +7340,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_analytics_library_tracker_30_1_3",
               "sha256": "c30e3634f83d524680f3aba2861078fb14bd347e6f9f0e5c079fba6142eec7e9",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/analytics-library/tracker/30.1.3/tracker-30.1.3.jar",
@@ -7580,7 +7352,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_tcnative_boringssl_static_jar_osx_x86_64_2_0_56_Final",
               "sha256": "9a77e8910af04becbdb535592c6a1e1a9accecde522aa1bb925a023c2c59d6dc",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.56.Final/netty-tcnative-boringssl-static-2.0.56.Final-osx-x86_64.jar"
@@ -7592,7 +7363,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_grpc_grpc_stub_1_48_1",
               "sha256": "6436f19cef264fd949fb7a41e11424e373aa3b1096cad0b7e518f1c81aa60f23",
               "urls": [
                 "https://repo1.maven.org/maven2/io/grpc/grpc-stub/1.48.1/grpc-stub-1.48.1.jar"
@@ -7604,7 +7374,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_slf4j_slf4j_api_1_7_30",
               "sha256": "cdba07964d1bb40a0761485c6b1e8c2f8fd9eb1d19c53928ac0d7f9510105c57",
               "urls": [
                 "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar",
@@ -7617,7 +7386,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_jetbrains_annotations_13_0",
               "sha256": "ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478",
               "urls": [
                 "https://dl.google.com/android/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar",
@@ -7630,7 +7398,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_jvnet_staxex_stax_ex_1_8_1",
               "sha256": "20522549056e9e50aa35ef0b445a2e47a53d06be0b0a9467d704e2483ffb049a",
               "urls": [
                 "https://dl.google.com/android/maven2/org/jvnet/staxex/stax-ex/1.8.1/stax-ex-1.8.1.jar",
@@ -7643,7 +7410,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_api_grpc_proto_google_common_protos_2_0_1",
               "sha256": "5ce71656118618731e34a5d4c61aa3a031be23446dc7de8b5a5e77b66ebcd6ef",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/2.0.1/proto-google-common-protos-2.0.1.jar",
@@ -7656,7 +7422,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~commons_logging_commons_logging_1_2",
               "sha256": "daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636",
               "urls": [
                 "https://dl.google.com/android/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar",
@@ -7669,7 +7434,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_api_client_google_api_client_gson_1_35_2",
               "sha256": "54e5be675e5c2ab0958647fcaa35c14bd8f7c08358c634f5ab786e4ed7268576",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api-client/google-api-client-gson/1.35.2/google-api-client-gson-1.35.2.jar"
@@ -7681,7 +7445,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_sun_xml_fastinfoset_FastInfoset_1_2_16",
               "sha256": "056f3a1e144409f21ed16afc26805f58e9a21f3fce1543c42d400719d250c511",
               "urls": [
                 "https://dl.google.com/android/maven2/com/sun/xml/fastinfoset/FastInfoset/1.2.16/FastInfoset-1.2.16.jar",
@@ -7694,7 +7457,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_cloud_google_cloud_storage_1_113_4",
               "sha256": "796833e9bdab80c40bbc820e65087eb8f28c6bfbca194d2e3e00d98cb5bc55d6",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/1.113.4/google-cloud-storage-1.113.4.jar",
@@ -7707,7 +7469,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~commons_io_commons_io_2_4",
               "sha256": "cc6a41dc3eaacc9e440a6bd0d2890b20d36b4ee408fe2d67122f328bb6e01581",
               "urls": [
                 "https://dl.google.com/android/maven2/commons-io/commons-io/2.4/commons-io-2.4.jar",
@@ -7720,7 +7481,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_native_epoll_jar_linux_x86_64_4_1_93_Final",
               "sha256": "f87a502f3d257bc41f80bd0b90c19e6b4a48d0600fb26e7b5d6c2c675680fa0e",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-native-epoll/4.1.93.Final/netty-transport-native-epoll-4.1.93.Final-linux-x86_64.jar"
@@ -7732,7 +7492,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_typesafe_netty_netty_reactive_streams_2_0_5",
               "sha256": "f949849fc8ee75fde468ba3a35df2e04577fa31a2940b83b2a7dc9d14dac13d6",
               "urls": [
                 "https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams/2.0.5/netty-reactive-streams-2.0.5.jar",
@@ -7745,7 +7504,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_github_stephenc_jcip_jcip_annotations_1_0_1",
               "sha256": "4fccff8382aafc589962c4edb262f6aa595e34f1e11e61057d1c6a96e8fc7323",
               "urls": [
                 "https://repo1.maven.org/maven2/com/github/stephenc/jcip/jcip-annotations/1.0-1/jcip-annotations-1.0-1.jar"
@@ -7757,7 +7515,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_typesafe_netty_netty_reactive_streams_http_2_0_5",
               "sha256": "b39224751ad936758176e9d994230380ade5e9079e7c8ad778e3995779bcf303",
               "urls": [
                 "https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams-http/2.0.5/netty-reactive-streams-http-2.0.5.jar",
@@ -7770,7 +7527,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_api_client_google_api_client_1_35_2",
               "sha256": "f195cd6228d3f99fa7e30ff2dee60ad0f2c7923be31399a7dcdc1abd679aa22e",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api-client/google-api-client/1.35.2/google-api-client-1.35.2.jar"
@@ -7782,7 +7538,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_ow2_asm_asm_commons_9_2",
               "sha256": "be4ce53138a238bb522cd781cf91f3ba5ce2f6ca93ec62d46a162a127225e0a6",
               "urls": [
                 "https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/9.2/asm-commons-9.2.jar"
@@ -7794,7 +7549,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_ow2_asm_asm_commons_9_1",
               "sha256": "afcb26dc1fc12c0c4a99ada670908dd82e18dfc488caf5ee92546996b470c00c",
               "urls": [
                 "https://dl.google.com/android/maven2/org/ow2/asm/asm-commons/9.1/asm-commons-9.1.jar",
@@ -7807,7 +7561,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_dvlib_30_1_3",
               "sha256": "50886691517d30762c571f585a07f384e6a8cca5fcbea9d46660ba078b613bfa",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/dvlib/30.1.3/dvlib-30.1.3.jar",
@@ -7820,7 +7573,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_threeten_threetenbp_1_5_0",
               "sha256": "dcf9c0f940739f2a825cd8626ff27113459a2f6eb18797c7152f93fff69c264f",
               "urls": [
                 "https://repo1.maven.org/maven2/org/threeten/threetenbp/1.5.0/threetenbp-1.5.0.jar",
@@ -7833,7 +7585,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_reactivex_rxjava3_rxjava_3_1_2",
               "sha256": "8d784075bec0b7c55042c109a4de8923b3b6d2ebd2e00912d518f07240f9c23a",
               "urls": [
                 "https://repo1.maven.org/maven2/io/reactivex/rxjava3/rxjava/3.1.2/rxjava-3.1.2.jar"
@@ -7845,7 +7596,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_build_apkzlib_7_1_3",
               "sha256": "5c10846c4a325b4313cdfcb236505ce1defa68f55d1a4259b503be115453c661",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/build/apkzlib/7.1.3/apkzlib-7.1.3.jar",
@@ -7858,7 +7608,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_github_java_diff_utils_java_diff_utils_4_12",
               "sha256": "9990a2039778f6b4cc94790141c2868864eacee0620c6c459451121a901cd5b5",
               "urls": [
                 "https://repo1.maven.org/maven2/io/github/java-diff-utils/java-diff-utils/4.12/java-diff-utils-4.12.jar"
@@ -7870,7 +7619,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_grpc_grpc_netty_1_48_1",
               "sha256": "2a51593342a2ee4f8f1b946dc48d06b02d0721493238e4ae83d1ad66f8b0c9f4",
               "urls": [
                 "https://repo1.maven.org/maven2/io/grpc/grpc-netty/1.48.1/grpc-netty-1.48.1.jar"
@@ -7879,10 +7627,9 @@
             }
           },
           "maven": {
-            "bzlFile": "@@rules_jvm_external~5.2//:coursier.bzl",
+            "bzlFile": "@@rules_jvm_external~//:coursier.bzl",
             "ruleClassName": "pinned_coursier_fetch",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~maven",
               "repositories": [
                 "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
               ],
@@ -8026,7 +7773,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_auto_service_auto_service_1_0",
               "sha256": "4ae44dd05b49a1109a463c0d2aaf920c24f76d1e996bb89f29481c4ff75ec526",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auto/service/auto-service/1.0/auto-service-1.0.jar"
@@ -8038,7 +7784,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~aopalliance_aopalliance_1_0",
               "sha256": "0addec670fedcd3f113c5c8091d783280d23f75e3acb841b61a9cdb079376a08",
               "urls": [
                 "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar"
@@ -8050,7 +7795,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_bouncycastle_bcpkix_jdk15on_1_56",
               "sha256": "7043dee4e9e7175e93e0b36f45b1ec1ecb893c5f755667e8b916eb8dd201c6ca",
               "urls": [
                 "https://dl.google.com/android/maven2/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk15on-1.56.jar",
@@ -8063,7 +7807,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_native_unix_common_jar_osx_x86_64_4_1_93_Final",
               "sha256": "deded602209c23f624e9d91f3d4c27cbba9b303e35ea9b4693090d54ac245b6c",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.93.Final/netty-transport-native-unix-common-4.1.93.Final-osx-x86_64.jar"
@@ -8075,7 +7818,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_build_builder_test_api_7_1_3",
               "sha256": "6259c32a8602d9a18fc9a5abb274b915dbba32837c5ce91ac07a2d229460078a",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/build/builder-test-api/7.1.3/builder-test-api-7.1.3.jar",
@@ -8088,7 +7830,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~commons_collections_commons_collections_3_2_2",
               "sha256": "eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8",
               "urls": [
                 "https://repo1.maven.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar"
@@ -8100,7 +7841,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_profiles_2_17_183",
               "sha256": "78833b32fde3f1c5320373b9ea955c1bbc28f2c904010791c4784e610193ee56",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/profiles/2.17.183/profiles-2.17.183.jar",
@@ -8113,7 +7853,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_github_eisop_dataflow_errorprone_3_34_0_eisop1",
               "sha256": "89b4f5d2bd5059f067c5982a0e5988b87dfc8a8234795d68c6f3178846de3319",
               "urls": [
                 "https://repo1.maven.org/maven2/io/github/eisop/dataflow-errorprone/3.34.0-eisop1/dataflow-errorprone-3.34.0-eisop1.jar"
@@ -8125,7 +7864,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_api_grpc_proto_google_common_protos_2_9_0",
               "sha256": "0d830380ec66bd7e25eee63aa0a5a08578e46ad187fb72d99b44d9ba22827f91",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/2.9.0/proto-google-common-protos-2.9.0.jar"
@@ -8137,7 +7875,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_ddms_ddmlib_30_1_3",
               "sha256": "b88ba88a1a8f0156c9a056eb0c83a181321541bdbb78e834bf837fd1dd07e4f3",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/ddms/ddmlib/30.1.3/ddmlib-30.1.3.jar",
@@ -8150,7 +7887,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_apache_commons_commons_lang3_3_8_1",
               "sha256": "dac807f65b07698ff39b1b07bfef3d87ae3fd46d91bbf8a2bc02b2a831616f68",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar",
@@ -8163,7 +7899,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_aws_core_2_17_183",
               "sha256": "bccbdbea689a665a702ff19828662d87fb7fe81529df13f02ef1e4c474ea9f93",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-core/2.17.183/aws-core-2.17.183.jar",
@@ -8176,7 +7911,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_api_gax_httpjson_0_77_0",
               "sha256": "fd4dae47fa016d3b26e8d90b67ddc6c23c4c06e8bcdf085c70310ab7ef324bd6",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/gax-httpjson/0.77.0/gax-httpjson-0.77.0.jar",
@@ -8189,7 +7923,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_apache_commons_commons_pool2_2_8_0",
               "sha256": "5efa9fbb54a58b1a12205a5fac565f6982abfeb0ff45bdbc318748ef5fd3a3ff",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/commons/commons-pool2/2.8.0/commons-pool2-2.8.0.jar"
@@ -8201,7 +7934,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_errorprone_error_prone_annotations_2_11_0",
               "sha256": "721cb91842b46fa056847d104d5225c8b8e1e8b62263b993051e1e5a0137b7ec",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.jar",
@@ -8214,7 +7946,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_inject_guice_5_1_0",
               "sha256": "4130e50bfac48099c860f0d903b91860c81a249c90f38245f8fed58fc817bc26",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/inject/guice/5.1.0/guice-5.1.0.jar"
@@ -8226,7 +7957,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_codec_socks_4_1_93_Final",
               "sha256": "0ea47b5ba23ca1da8eb9146c8fc755c1271414633b1e2be2ce1df764ba0fff2a",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec-socks/4.1.93.Final/netty-codec-socks-4.1.93.Final.jar"
@@ -8238,7 +7968,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_auto_value_auto_value_1_8_2",
               "sha256": "2067b788d4c1c96fd621ad861053a5c4d8a801cfafc77fec20d49a6e9340a745",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auto/value/auto-value/1.8.2/auto-value-1.8.2.jar"
@@ -8250,7 +7979,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_auto_auto_common_1_2_1",
               "sha256": "f43f29fe2a6ebaf04b2598cdeec32a4e346d49a9404e990f5fc19c19f3a28d0e",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auto/auto-common/1.2.1/auto-common-1.2.1.jar"
@@ -8262,7 +7990,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_native_unix_common_4_1_93_Final",
               "sha256": "774165a1c4dbaacb17f9c1ad666b3569a6a59715ae828e7c3d47703f479a53e7",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.93.Final/netty-transport-native-unix-common-4.1.93.Final.jar"
@@ -8274,7 +8001,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~net_bytebuddy_byte_buddy_1_14_5",
               "sha256": "e99761a526df0fefbbd3fe14436b0f953000cdfa5151dc63c0b18d37d9c46f1c",
               "urls": [
                 "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.14.5/byte-buddy-1.14.5.jar"
@@ -8286,7 +8012,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_apis_google_api_services_storage_v1_rev20200927_1_30_10",
               "sha256": "52d26a9d105f8d8a0850807285f307a76cea8f3e0cdb2be4d3b15b1adfa77351",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/apis/google-api-services-storage/v1-rev20200927-1.30.10/google-api-services-storage-v1-rev20200927-1.30.10.jar",
@@ -8299,7 +8024,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_api_client_google_api_client_1_30_11",
               "sha256": "ee6f97865cc7de6c7c80955c3f37372cf3887bd75e4fc06f1058a6b4cd9bf4da",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api-client/google-api-client/1.30.11/google-api-client-1.30.11.jar",
@@ -8312,7 +8036,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_apache_maven_maven_artifact_3_8_6",
               "sha256": "de22a4c6f54fe31276a823b1bbd3adfd6823529e732f431b5eff0852c2b9252b",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/3.8.6/maven-artifact-3.8.6.jar",
@@ -8325,7 +8048,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_auto_value_auto_value_annotations_1_9",
               "sha256": "fa5469f4c44ee598a2d8f033ab0a9dcbc6498a0c5e0c998dfa0c2adf51358044",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.9/auto-value-annotations-1.9.jar"
@@ -8337,7 +8059,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_errorprone_error_prone_annotations_2_22_0",
               "sha256": "82a027b86541f58d1f9ee020cdf6bebe82acc7a267d3c53a2ea5cd6335932bbd",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.22.0/error_prone_annotations-2.22.0.jar"
@@ -8349,7 +8070,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_apache_client_2_17_183",
               "sha256": "78ceae502fce6a97bbe5ff8f6a010a52ab7ea3ae66cb1a4122e18185fce45022",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/apache-client/2.17.183/apache-client-2.17.183.jar",
@@ -8362,7 +8082,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_arns_2_17_183",
               "sha256": "659a185e191d66c71de81209490e66abeaccae208ea7b2831a738670823447aa",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/arns/2.17.183/arns-2.17.183.jar",
@@ -8375,7 +8094,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_jetbrains_kotlin_kotlin_stdlib_common_1_4_32",
               "sha256": "e1ff6f55ee9e7591dcc633f7757bac25a7edb1cc7f738b37ec652f10f66a4145",
               "urls": [
                 "https://dl.google.com/android/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.32/kotlin-stdlib-common-1.4.32.jar",
@@ -8388,7 +8106,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_jetbrains_intellij_deps_trove4j_1_0_20181211",
               "sha256": "affb7c85a3c87bdcf69ff1dbb84de11f63dc931293934bc08cd7ab18de083601",
               "urls": [
                 "https://dl.google.com/android/maven2/org/jetbrains/intellij/deps/trove4j/1.0.20181211/trove4j-1.0.20181211.jar",
@@ -8401,7 +8118,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_4_32",
               "sha256": "adc43e54757b106e0cd7b3b7aa257dff471b61efdabe067fc02b2f57e2396262",
               "urls": [
                 "https://dl.google.com/android/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.4.32/kotlin-stdlib-jdk8-1.4.32.jar",
@@ -8414,7 +8130,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~javax_inject_javax_inject_1",
               "sha256": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
               "urls": [
                 "https://repo1.maven.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar"
@@ -8426,7 +8141,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~commons_codec_commons_codec_1_11",
               "sha256": "e599d5318e97aa48f42136a2927e6dfa4e8881dff0e6c8e3109ddbbff51d7b7d",
               "urls": [
                 "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar",
@@ -8439,7 +8153,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~commons_codec_commons_codec_1_10",
               "sha256": "4241dfa94e711d435f29a4604a3e2de5c4aa3c165e23bd066be6fc1fc4309569",
               "urls": [
                 "https://dl.google.com/android/maven2/commons-codec/commons-codec/1.10/commons-codec-1.10.jar",
@@ -8452,7 +8165,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_android_annotations_4_1_1_4",
               "sha256": "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar"
@@ -8464,7 +8176,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~xml_apis_xml_apis_1_4_01",
               "sha256": "a840968176645684bb01aed376e067ab39614885f9eee44abe35a5f20ebe7fad",
               "urls": [
                 "https://dl.google.com/android/maven2/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar",
@@ -8477,7 +8188,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_build_jetifier_jetifier_core_1_0_0_beta02",
               "sha256": "ef61f84302f8b41dce3858c1fc7e7a90ec74a263a0213b1f65e80c56145a4793",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/build/jetifier/jetifier-core/1.0.0-beta02/jetifier-core-1.0.0-beta02.jar",
@@ -8490,7 +8200,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_json_utils_2_17_183",
               "sha256": "51ab7f550adc06afcb49f5270cdf690f1bfaaee243abaa5d978095e2a1e4e1a5",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/json-utils/2.17.183/json-utils-2.17.183.jar",
@@ -8503,7 +8212,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_codehaus_plexus_plexus_utils_3_3_1",
               "sha256": "4b570fcdbe5a894f249d2eb9b929358a9c88c3e548d227a80010461930222f2a",
               "urls": [
                 "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.3.1/plexus-utils-3.3.1.jar",
@@ -8516,7 +8224,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_glassfish_jaxb_txw2_2_3_2",
               "sha256": "4a6a9f483388d461b81aa9a28c685b8b74c0597993bf1884b04eddbca95f48fe",
               "urls": [
                 "https://dl.google.com/android/maven2/org/glassfish/jaxb/txw2/2.3.2/txw2-2.3.2.jar",
@@ -8529,7 +8236,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~org_yaml_snakeyaml_1_28",
               "sha256": "35446a1421435d45e4c6ac0de3b5378527d5cc2446c07183e24447730ce1fffa",
               "urls": [
                 "https://repo1.maven.org/maven2/org/yaml/snakeyaml/1.28/snakeyaml-1.28.jar"
@@ -8541,7 +8247,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~io_netty_netty_transport_native_epoll_jar_linux_aarch_64_4_1_93_Final",
               "sha256": "cca126fd095563fa67288300b6ac2ef4a92e623600e9a3273382211de364695d",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-native-epoll/4.1.93.Final/netty-transport-native-epoll-4.1.93.Final-linux-aarch_64.jar"
@@ -8553,7 +8258,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_android_tools_build_aapt2_proto_7_0_0_beta04_7396180",
               "sha256": "1ca4f1b0f550c6c25f63c1916da84f6e7a92c66b7ad38ab1d5d49a20552a5984",
               "urls": [
                 "https://dl.google.com/android/maven2/com/android/tools/build/aapt2-proto/7.0.0-beta04-7396180/aapt2-proto-7.0.0-beta04-7396180.jar",
@@ -8566,7 +8270,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_protobuf_protobuf_java_3_13_0",
               "sha256": "97d5b2758408690c0dc276238707492a0b6a4d71206311b6c442cdc26c5973ff",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.13.0/protobuf-java-3.13.0.jar",
@@ -8579,7 +8282,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~net_java_dev_jna_jna_5_6_0",
               "sha256": "5557e235a8aa2f9766d5dc609d67948f2a8832c2d796cea9ef1d6cbe0b3b7eaf",
               "urls": [
                 "https://dl.google.com/android/maven2/net/java/dev/jna/jna/5.6.0/jna-5.6.0.jar",
@@ -8592,7 +8294,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~5.2~maven~software_amazon_awssdk_sdk_core_2_17_183",
               "sha256": "677e9cc90fdd82c1f40f97b99cb115b13ad6c3f58beeeab1c061af6954d64c77",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/sdk-core/2.17.183/sdk-core-2.17.183.jar",
@@ -8604,29 +8305,29 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_jvm_external~5.2",
+            "rules_jvm_external~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_jvm_external~5.2",
+            "rules_jvm_external~",
             "rules_jvm_external",
-            "rules_jvm_external~5.2"
+            "rules_jvm_external~"
           ]
         ]
       }
     },
-    "@@rules_jvm_external~5.2//:non-module-deps.bzl%non_module_deps": {
+    "@@rules_jvm_external~//:non-module-deps.bzl%non_module_deps": {
       "general": {
-        "bzlTransitiveDigest": "zXwz7xFBNBig3QRyd5WAZU3y/6fZvd6jnP6EkJIutS0=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "DqBh3ObkOvjDFKv8VTy6J2qr7hXsJm9/sES7bha7ftA=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "io_bazel_rules_kotlin": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_jvm_external~5.2~non_module_deps~io_bazel_rules_kotlin",
               "sha256": "946747acdbeae799b085d12b240ec346f775ac65236dfcf18aa0cd7300f6de78",
               "urls": [
                 "https://github.com/bazelbuild/rules_kotlin/releases/download/v1.7.0-RC-2/rules_kotlin_release.tgz"
@@ -8636,26 +8337,26 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_jvm_external~5.2",
+            "rules_jvm_external~",
             "bazel_tools",
             "bazel_tools"
           ]
         ]
       }
     },
-    "@@rules_python~0.26.0//python/extensions:pip.bzl%pip": {
+    "@@rules_python~//python/extensions:pip.bzl%pip": {
       "os:osx,arch:aarch64": {
-        "bzlTransitiveDigest": "2Q6H3h9+kogr9SW/SFMKOX5+pjW4YEdf9qiRMX0IQBw=",
-        "accumulatedFileDigests": {
-          "@@//:requirements.txt": "ff12967a755bb8e9b4c92524f6471a99e14c30474a3d428547c55745ec8f23a0"
+        "bzlTransitiveDigest": "V/mJWEApn8zkI54PHr3DQqQTCCKVab6KCrve7FZ1Nj4=",
+        "recordedFileInputs": {
+          "@@//requirements.txt": "ff12967a755bb8e9b4c92524f6471a99e14c30474a3d428547c55745ec8f23a0"
         },
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "bazel_pip_dev_deps": {
-            "bzlFile": "@@rules_python~0.26.0//python/pip_install:pip_repository.bzl",
+            "bzlFile": "@@rules_python~//python/pip_install:pip_repository.bzl",
             "ruleClassName": "pip_hub_repository_bzlmod",
             "attributes": {
-              "name": "rules_python~0.26.0~pip~bazel_pip_dev_deps",
               "repo_name": "bazel_pip_dev_deps",
               "whl_map": {
                 "bazel_runfiles": [
@@ -8666,15 +8367,14 @@
             }
           },
           "bazel_pip_dev_deps_38_bazel_runfiles": {
-            "bzlFile": "@@rules_python~0.26.0//python/pip_install:pip_repository.bzl",
+            "bzlFile": "@@rules_python~//python/pip_install:pip_repository.bzl",
             "ruleClassName": "whl_library",
             "attributes": {
-              "name": "rules_python~0.26.0~pip~bazel_pip_dev_deps_38_bazel_runfiles",
               "requirement": "bazel-runfiles==0.24.0",
               "repo": "bazel_pip_dev_deps_38",
               "repo_prefix": "bazel_pip_dev_deps_38_",
               "python_interpreter": "",
-              "python_interpreter_target": "@@rules_python~0.26.0~python~python_3_8_aarch64-apple-darwin//:bin/python3",
+              "python_interpreter_target": "@@rules_python~~python~python_3_8_aarch64-apple-darwin//:bin/python3",
               "quiet": true,
               "timeout": 600,
               "isolated": true,
@@ -8688,134 +8388,134 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "bazel_features~1.1.0",
+            "bazel_features~",
             "bazel_features_globals",
-            "bazel_features~1.1.0~version_extension~bazel_features_globals"
+            "bazel_features~~version_extension~bazel_features_globals"
           ],
           [
-            "bazel_features~1.1.0",
+            "bazel_features~",
             "bazel_features_version",
-            "bazel_features~1.1.0~version_extension~bazel_features_version"
+            "bazel_features~~version_extension~bazel_features_version"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_features",
-            "bazel_features~1.1.0"
+            "bazel_features~"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_skylib",
-            "bazel_skylib~1.5.0"
+            "bazel_skylib~"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__build",
-            "rules_python~0.26.0~internal_deps~pypi__build"
+            "rules_python~~internal_deps~pypi__build"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__click",
-            "rules_python~0.26.0~internal_deps~pypi__click"
+            "rules_python~~internal_deps~pypi__click"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__colorama",
-            "rules_python~0.26.0~internal_deps~pypi__colorama"
+            "rules_python~~internal_deps~pypi__colorama"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__importlib_metadata",
-            "rules_python~0.26.0~internal_deps~pypi__importlib_metadata"
+            "rules_python~~internal_deps~pypi__importlib_metadata"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__installer",
-            "rules_python~0.26.0~internal_deps~pypi__installer"
+            "rules_python~~internal_deps~pypi__installer"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__more_itertools",
-            "rules_python~0.26.0~internal_deps~pypi__more_itertools"
+            "rules_python~~internal_deps~pypi__more_itertools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__packaging",
-            "rules_python~0.26.0~internal_deps~pypi__packaging"
+            "rules_python~~internal_deps~pypi__packaging"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pep517",
-            "rules_python~0.26.0~internal_deps~pypi__pep517"
+            "rules_python~~internal_deps~pypi__pep517"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pip",
-            "rules_python~0.26.0~internal_deps~pypi__pip"
+            "rules_python~~internal_deps~pypi__pip"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pip_tools",
-            "rules_python~0.26.0~internal_deps~pypi__pip_tools"
+            "rules_python~~internal_deps~pypi__pip_tools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pyproject_hooks",
-            "rules_python~0.26.0~internal_deps~pypi__pyproject_hooks"
+            "rules_python~~internal_deps~pypi__pyproject_hooks"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__setuptools",
-            "rules_python~0.26.0~internal_deps~pypi__setuptools"
+            "rules_python~~internal_deps~pypi__setuptools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__tomli",
-            "rules_python~0.26.0~internal_deps~pypi__tomli"
+            "rules_python~~internal_deps~pypi__tomli"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__wheel",
-            "rules_python~0.26.0~internal_deps~pypi__wheel"
+            "rules_python~~internal_deps~pypi__wheel"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__zipp",
-            "rules_python~0.26.0~internal_deps~pypi__zipp"
+            "rules_python~~internal_deps~pypi__zipp"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pythons_hub",
-            "rules_python~0.26.0~python~pythons_hub"
+            "rules_python~~python~pythons_hub"
           ],
           [
-            "rules_python~0.26.0~python~pythons_hub",
+            "rules_python~~python~pythons_hub",
             "python_3_11_aarch64-apple-darwin",
-            "rules_python~0.26.0~python~python_3_11_aarch64-apple-darwin"
+            "rules_python~~python~python_3_11_aarch64-apple-darwin"
           ],
           [
-            "rules_python~0.26.0~python~pythons_hub",
+            "rules_python~~python~pythons_hub",
             "python_3_8_aarch64-apple-darwin",
-            "rules_python~0.26.0~python~python_3_8_aarch64-apple-darwin"
+            "rules_python~~python~python_3_8_aarch64-apple-darwin"
           ]
         ]
       },
-      "os:osx,arch:x86_64": {
-        "bzlTransitiveDigest": "E9m/UFADncm3CKBrsnAfkVQxBz0IsqZ8jnkRQr/RO40=",
-        "accumulatedFileDigests": {
-          "@@//:requirements.txt": "ff12967a755bb8e9b4c92524f6471a99e14c30474a3d428547c55745ec8f23a0"
+      "os:windows,arch:amd64": {
+        "bzlTransitiveDigest": "8m8gxEmSM3y/RtPAp1jOYs+V8swJ5KTtRw96l48hkic=",
+        "recordedFileInputs": {
+          "@@//requirements.txt": "ff12967a755bb8e9b4c92524f6471a99e14c30474a3d428547c55745ec8f23a0"
         },
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "bazel_pip_dev_deps": {
-            "bzlFile": "@@rules_python~0.26.0//python/pip_install:pip_repository.bzl",
+            "bzlFile": "@@rules_python~//python/pip_install:pip_repository.bzl",
             "ruleClassName": "pip_hub_repository_bzlmod",
             "attributes": {
-              "name": "rules_python~0.26.0~pip~bazel_pip_dev_deps",
               "repo_name": "bazel_pip_dev_deps",
               "whl_map": {
                 "bazel_runfiles": [
@@ -8826,15 +8526,14 @@
             }
           },
           "bazel_pip_dev_deps_38_bazel_runfiles": {
-            "bzlFile": "@@rules_python~0.26.0//python/pip_install:pip_repository.bzl",
+            "bzlFile": "@@rules_python~//python/pip_install:pip_repository.bzl",
             "ruleClassName": "whl_library",
             "attributes": {
-              "name": "rules_python~0.26.0~pip~bazel_pip_dev_deps_38_bazel_runfiles",
               "requirement": "bazel-runfiles==0.24.0",
               "repo": "bazel_pip_dev_deps_38",
               "repo_prefix": "bazel_pip_dev_deps_38_",
               "python_interpreter": "",
-              "python_interpreter_target": "@@rules_python~0.26.0~python~python_3_8_x86_64-apple-darwin//:bin/python3",
+              "python_interpreter_target": "@@rules_python~~python~python_3_8_x86_64-pc-windows-msvc//:python.exe",
               "quiet": true,
               "timeout": 600,
               "isolated": true,
@@ -8848,134 +8547,134 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "bazel_features~1.1.0",
+            "bazel_features~",
             "bazel_features_globals",
-            "bazel_features~1.1.0~version_extension~bazel_features_globals"
+            "bazel_features~~version_extension~bazel_features_globals"
           ],
           [
-            "bazel_features~1.1.0",
+            "bazel_features~",
             "bazel_features_version",
-            "bazel_features~1.1.0~version_extension~bazel_features_version"
+            "bazel_features~~version_extension~bazel_features_version"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_features",
-            "bazel_features~1.1.0"
+            "bazel_features~"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_skylib",
-            "bazel_skylib~1.5.0"
+            "bazel_skylib~"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__build",
-            "rules_python~0.26.0~internal_deps~pypi__build"
+            "rules_python~~internal_deps~pypi__build"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__click",
-            "rules_python~0.26.0~internal_deps~pypi__click"
+            "rules_python~~internal_deps~pypi__click"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__colorama",
-            "rules_python~0.26.0~internal_deps~pypi__colorama"
+            "rules_python~~internal_deps~pypi__colorama"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__importlib_metadata",
-            "rules_python~0.26.0~internal_deps~pypi__importlib_metadata"
+            "rules_python~~internal_deps~pypi__importlib_metadata"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__installer",
-            "rules_python~0.26.0~internal_deps~pypi__installer"
+            "rules_python~~internal_deps~pypi__installer"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__more_itertools",
-            "rules_python~0.26.0~internal_deps~pypi__more_itertools"
+            "rules_python~~internal_deps~pypi__more_itertools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__packaging",
-            "rules_python~0.26.0~internal_deps~pypi__packaging"
+            "rules_python~~internal_deps~pypi__packaging"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pep517",
-            "rules_python~0.26.0~internal_deps~pypi__pep517"
+            "rules_python~~internal_deps~pypi__pep517"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pip",
-            "rules_python~0.26.0~internal_deps~pypi__pip"
+            "rules_python~~internal_deps~pypi__pip"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pip_tools",
-            "rules_python~0.26.0~internal_deps~pypi__pip_tools"
+            "rules_python~~internal_deps~pypi__pip_tools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pyproject_hooks",
-            "rules_python~0.26.0~internal_deps~pypi__pyproject_hooks"
+            "rules_python~~internal_deps~pypi__pyproject_hooks"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__setuptools",
-            "rules_python~0.26.0~internal_deps~pypi__setuptools"
+            "rules_python~~internal_deps~pypi__setuptools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__tomli",
-            "rules_python~0.26.0~internal_deps~pypi__tomli"
+            "rules_python~~internal_deps~pypi__tomli"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__wheel",
-            "rules_python~0.26.0~internal_deps~pypi__wheel"
+            "rules_python~~internal_deps~pypi__wheel"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__zipp",
-            "rules_python~0.26.0~internal_deps~pypi__zipp"
+            "rules_python~~internal_deps~pypi__zipp"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pythons_hub",
-            "rules_python~0.26.0~python~pythons_hub"
+            "rules_python~~python~pythons_hub"
           ],
           [
-            "rules_python~0.26.0~python~pythons_hub",
-            "python_3_11_x86_64-apple-darwin",
-            "rules_python~0.26.0~python~python_3_11_x86_64-apple-darwin"
+            "rules_python~~python~pythons_hub",
+            "python_3_11_x86_64-pc-windows-msvc",
+            "rules_python~~python~python_3_11_x86_64-pc-windows-msvc"
           ],
           [
-            "rules_python~0.26.0~python~pythons_hub",
-            "python_3_8_x86_64-apple-darwin",
-            "rules_python~0.26.0~python~python_3_8_x86_64-apple-darwin"
+            "rules_python~~python~pythons_hub",
+            "python_3_8_x86_64-pc-windows-msvc",
+            "rules_python~~python~python_3_8_x86_64-pc-windows-msvc"
           ]
         ]
       },
-      "os:windows,arch:amd64": {
-        "bzlTransitiveDigest": "QSSju3r1BqdiBI2rQ5F0t+LW+/VktSbD2ScOupIGWT4=",
-        "accumulatedFileDigests": {
-          "@@//:requirements.txt": "ff12967a755bb8e9b4c92524f6471a99e14c30474a3d428547c55745ec8f23a0"
+      "os:linux,arch:amd64": {
+        "bzlTransitiveDigest": "sBI+YA5K6wPfH6tuVyLhRwgswRsEs79OpYRdbKNukwQ=",
+        "recordedFileInputs": {
+          "@@//requirements.txt": "ff12967a755bb8e9b4c92524f6471a99e14c30474a3d428547c55745ec8f23a0"
         },
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "bazel_pip_dev_deps": {
-            "bzlFile": "@@rules_python~0.26.0//python/pip_install:pip_repository.bzl",
+            "bzlFile": "@@rules_python~//python/pip_install:pip_repository.bzl",
             "ruleClassName": "pip_hub_repository_bzlmod",
             "attributes": {
-              "name": "rules_python~0.26.0~pip~bazel_pip_dev_deps",
               "repo_name": "bazel_pip_dev_deps",
               "whl_map": {
                 "bazel_runfiles": [
@@ -8986,15 +8685,14 @@
             }
           },
           "bazel_pip_dev_deps_38_bazel_runfiles": {
-            "bzlFile": "@@rules_python~0.26.0//python/pip_install:pip_repository.bzl",
+            "bzlFile": "@@rules_python~//python/pip_install:pip_repository.bzl",
             "ruleClassName": "whl_library",
             "attributes": {
-              "name": "rules_python~0.26.0~pip~bazel_pip_dev_deps_38_bazel_runfiles",
               "requirement": "bazel-runfiles==0.24.0",
               "repo": "bazel_pip_dev_deps_38",
               "repo_prefix": "bazel_pip_dev_deps_38_",
               "python_interpreter": "",
-              "python_interpreter_target": "@@rules_python~0.26.0~python~python_3_8_x86_64-pc-windows-msvc//:python.exe",
+              "python_interpreter_target": "@@rules_python~~python~python_3_8_x86_64-unknown-linux-gnu//:bin/python3",
               "quiet": true,
               "timeout": 600,
               "isolated": true,
@@ -9008,134 +8706,134 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "bazel_features~1.1.0",
+            "bazel_features~",
             "bazel_features_globals",
-            "bazel_features~1.1.0~version_extension~bazel_features_globals"
+            "bazel_features~~version_extension~bazel_features_globals"
           ],
           [
-            "bazel_features~1.1.0",
+            "bazel_features~",
             "bazel_features_version",
-            "bazel_features~1.1.0~version_extension~bazel_features_version"
+            "bazel_features~~version_extension~bazel_features_version"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_features",
-            "bazel_features~1.1.0"
+            "bazel_features~"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_skylib",
-            "bazel_skylib~1.5.0"
+            "bazel_skylib~"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__build",
-            "rules_python~0.26.0~internal_deps~pypi__build"
+            "rules_python~~internal_deps~pypi__build"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__click",
-            "rules_python~0.26.0~internal_deps~pypi__click"
+            "rules_python~~internal_deps~pypi__click"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__colorama",
-            "rules_python~0.26.0~internal_deps~pypi__colorama"
+            "rules_python~~internal_deps~pypi__colorama"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__importlib_metadata",
-            "rules_python~0.26.0~internal_deps~pypi__importlib_metadata"
+            "rules_python~~internal_deps~pypi__importlib_metadata"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__installer",
-            "rules_python~0.26.0~internal_deps~pypi__installer"
+            "rules_python~~internal_deps~pypi__installer"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__more_itertools",
-            "rules_python~0.26.0~internal_deps~pypi__more_itertools"
+            "rules_python~~internal_deps~pypi__more_itertools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__packaging",
-            "rules_python~0.26.0~internal_deps~pypi__packaging"
+            "rules_python~~internal_deps~pypi__packaging"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pep517",
-            "rules_python~0.26.0~internal_deps~pypi__pep517"
+            "rules_python~~internal_deps~pypi__pep517"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pip",
-            "rules_python~0.26.0~internal_deps~pypi__pip"
+            "rules_python~~internal_deps~pypi__pip"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pip_tools",
-            "rules_python~0.26.0~internal_deps~pypi__pip_tools"
+            "rules_python~~internal_deps~pypi__pip_tools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pyproject_hooks",
-            "rules_python~0.26.0~internal_deps~pypi__pyproject_hooks"
+            "rules_python~~internal_deps~pypi__pyproject_hooks"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__setuptools",
-            "rules_python~0.26.0~internal_deps~pypi__setuptools"
+            "rules_python~~internal_deps~pypi__setuptools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__tomli",
-            "rules_python~0.26.0~internal_deps~pypi__tomli"
+            "rules_python~~internal_deps~pypi__tomli"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__wheel",
-            "rules_python~0.26.0~internal_deps~pypi__wheel"
+            "rules_python~~internal_deps~pypi__wheel"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__zipp",
-            "rules_python~0.26.0~internal_deps~pypi__zipp"
+            "rules_python~~internal_deps~pypi__zipp"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pythons_hub",
-            "rules_python~0.26.0~python~pythons_hub"
+            "rules_python~~python~pythons_hub"
           ],
           [
-            "rules_python~0.26.0~python~pythons_hub",
-            "python_3_11_x86_64-pc-windows-msvc",
-            "rules_python~0.26.0~python~python_3_11_x86_64-pc-windows-msvc"
+            "rules_python~~python~pythons_hub",
+            "python_3_11_x86_64-unknown-linux-gnu",
+            "rules_python~~python~python_3_11_x86_64-unknown-linux-gnu"
           ],
           [
-            "rules_python~0.26.0~python~pythons_hub",
-            "python_3_8_x86_64-pc-windows-msvc",
-            "rules_python~0.26.0~python~python_3_8_x86_64-pc-windows-msvc"
+            "rules_python~~python~pythons_hub",
+            "python_3_8_x86_64-unknown-linux-gnu",
+            "rules_python~~python~python_3_8_x86_64-unknown-linux-gnu"
           ]
         ]
       },
-      "os:linux,arch:amd64": {
-        "bzlTransitiveDigest": "aOMK5S3yh0GqKqizev0aeyRIiUVXUnJ9qs4MjoGIsmU=",
-        "accumulatedFileDigests": {
-          "@@//:requirements.txt": "ff12967a755bb8e9b4c92524f6471a99e14c30474a3d428547c55745ec8f23a0"
+      "os:osx,arch:x86_64": {
+        "bzlTransitiveDigest": "4qX9XayUU4+ssvkUImaig9sNH2WtD/3dpOpLKPS713E=",
+        "recordedFileInputs": {
+          "@@//requirements.txt": "ff12967a755bb8e9b4c92524f6471a99e14c30474a3d428547c55745ec8f23a0"
         },
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "bazel_pip_dev_deps": {
-            "bzlFile": "@@rules_python~0.26.0//python/pip_install:pip_repository.bzl",
+            "bzlFile": "@@rules_python~//python/pip_install:pip_repository.bzl",
             "ruleClassName": "pip_hub_repository_bzlmod",
             "attributes": {
-              "name": "rules_python~0.26.0~pip~bazel_pip_dev_deps",
               "repo_name": "bazel_pip_dev_deps",
               "whl_map": {
                 "bazel_runfiles": [
@@ -9146,15 +8844,14 @@
             }
           },
           "bazel_pip_dev_deps_38_bazel_runfiles": {
-            "bzlFile": "@@rules_python~0.26.0//python/pip_install:pip_repository.bzl",
+            "bzlFile": "@@rules_python~//python/pip_install:pip_repository.bzl",
             "ruleClassName": "whl_library",
             "attributes": {
-              "name": "rules_python~0.26.0~pip~bazel_pip_dev_deps_38_bazel_runfiles",
               "requirement": "bazel-runfiles==0.24.0",
               "repo": "bazel_pip_dev_deps_38",
               "repo_prefix": "bazel_pip_dev_deps_38_",
               "python_interpreter": "",
-              "python_interpreter_target": "@@rules_python~0.26.0~python~python_3_8_x86_64-unknown-linux-gnu//:bin/python3",
+              "python_interpreter_target": "@@rules_python~~python~python_3_8_x86_64-apple-darwin//:bin/python3",
               "quiet": true,
               "timeout": 600,
               "isolated": true,
@@ -9168,134 +8865,134 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "bazel_features~1.1.0",
+            "bazel_features~",
             "bazel_features_globals",
-            "bazel_features~1.1.0~version_extension~bazel_features_globals"
+            "bazel_features~~version_extension~bazel_features_globals"
           ],
           [
-            "bazel_features~1.1.0",
+            "bazel_features~",
             "bazel_features_version",
-            "bazel_features~1.1.0~version_extension~bazel_features_version"
+            "bazel_features~~version_extension~bazel_features_version"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_features",
-            "bazel_features~1.1.0"
+            "bazel_features~"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_skylib",
-            "bazel_skylib~1.5.0"
+            "bazel_skylib~"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__build",
-            "rules_python~0.26.0~internal_deps~pypi__build"
+            "rules_python~~internal_deps~pypi__build"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__click",
-            "rules_python~0.26.0~internal_deps~pypi__click"
+            "rules_python~~internal_deps~pypi__click"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__colorama",
-            "rules_python~0.26.0~internal_deps~pypi__colorama"
+            "rules_python~~internal_deps~pypi__colorama"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__importlib_metadata",
-            "rules_python~0.26.0~internal_deps~pypi__importlib_metadata"
+            "rules_python~~internal_deps~pypi__importlib_metadata"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__installer",
-            "rules_python~0.26.0~internal_deps~pypi__installer"
+            "rules_python~~internal_deps~pypi__installer"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__more_itertools",
-            "rules_python~0.26.0~internal_deps~pypi__more_itertools"
+            "rules_python~~internal_deps~pypi__more_itertools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__packaging",
-            "rules_python~0.26.0~internal_deps~pypi__packaging"
+            "rules_python~~internal_deps~pypi__packaging"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pep517",
-            "rules_python~0.26.0~internal_deps~pypi__pep517"
+            "rules_python~~internal_deps~pypi__pep517"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pip",
-            "rules_python~0.26.0~internal_deps~pypi__pip"
+            "rules_python~~internal_deps~pypi__pip"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pip_tools",
-            "rules_python~0.26.0~internal_deps~pypi__pip_tools"
+            "rules_python~~internal_deps~pypi__pip_tools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__pyproject_hooks",
-            "rules_python~0.26.0~internal_deps~pypi__pyproject_hooks"
+            "rules_python~~internal_deps~pypi__pyproject_hooks"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__setuptools",
-            "rules_python~0.26.0~internal_deps~pypi__setuptools"
+            "rules_python~~internal_deps~pypi__setuptools"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__tomli",
-            "rules_python~0.26.0~internal_deps~pypi__tomli"
+            "rules_python~~internal_deps~pypi__tomli"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__wheel",
-            "rules_python~0.26.0~internal_deps~pypi__wheel"
+            "rules_python~~internal_deps~pypi__wheel"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pypi__zipp",
-            "rules_python~0.26.0~internal_deps~pypi__zipp"
+            "rules_python~~internal_deps~pypi__zipp"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "pythons_hub",
-            "rules_python~0.26.0~python~pythons_hub"
+            "rules_python~~python~pythons_hub"
           ],
           [
-            "rules_python~0.26.0~python~pythons_hub",
-            "python_3_11_x86_64-unknown-linux-gnu",
-            "rules_python~0.26.0~python~python_3_11_x86_64-unknown-linux-gnu"
+            "rules_python~~python~pythons_hub",
+            "python_3_11_x86_64-apple-darwin",
+            "rules_python~~python~python_3_11_x86_64-apple-darwin"
           ],
           [
-            "rules_python~0.26.0~python~pythons_hub",
-            "python_3_8_x86_64-unknown-linux-gnu",
-            "rules_python~0.26.0~python~python_3_8_x86_64-unknown-linux-gnu"
+            "rules_python~~python~pythons_hub",
+            "python_3_8_x86_64-apple-darwin",
+            "rules_python~~python~python_3_8_x86_64-apple-darwin"
           ]
         ]
       }
     },
-    "@@rules_python~0.26.0//python/extensions:python.bzl%python": {
+    "@@rules_python~//python/extensions:python.bzl%python": {
       "general": {
-        "bzlTransitiveDigest": "8WVQIVnIXBFr70L5lVEwzdfZo6ozRWUK790TujH0YSE=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "CTlgB1kgpACRR86vMKUCvV1re9yIbHoFbQxl5Idc1zI=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "python_3_11_s390x-unknown-linux-gnu": {
-            "bzlFile": "@@rules_python~0.26.0//python:repositories.bzl",
+            "bzlFile": "@@rules_python~//python:repositories.bzl",
             "ruleClassName": "python_repository",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_11_s390x-unknown-linux-gnu",
               "sha256": "f9f19823dba3209cedc4647b00f46ed0177242917db20fb7fb539970e384531c",
               "patches": [],
               "platform": "s390x-unknown-linux-gnu",
@@ -9311,10 +9008,9 @@
             }
           },
           "python_3_8_aarch64-apple-darwin": {
-            "bzlFile": "@@rules_python~0.26.0//python:repositories.bzl",
+            "bzlFile": "@@rules_python~//python:repositories.bzl",
             "ruleClassName": "python_repository",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_8_aarch64-apple-darwin",
               "sha256": "1825b1f7220bc93ff143f2e70b5c6a79c6469e0eeb40824e07a7277f59aabfda",
               "patches": [],
               "platform": "aarch64-apple-darwin",
@@ -9330,10 +9026,9 @@
             }
           },
           "python_3_11_aarch64-unknown-linux-gnu": {
-            "bzlFile": "@@rules_python~0.26.0//python:repositories.bzl",
+            "bzlFile": "@@rules_python~//python:repositories.bzl",
             "ruleClassName": "python_repository",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_11_aarch64-unknown-linux-gnu",
               "sha256": "3e26a672df17708c4dc928475a5974c3fb3a34a9b45c65fb4bd1e50504cc84ec",
               "patches": [],
               "platform": "aarch64-unknown-linux-gnu",
@@ -9349,10 +9044,9 @@
             }
           },
           "python_3_11_aarch64-apple-darwin": {
-            "bzlFile": "@@rules_python~0.26.0//python:repositories.bzl",
+            "bzlFile": "@@rules_python~//python:repositories.bzl",
             "ruleClassName": "python_repository",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_11_aarch64-apple-darwin",
               "sha256": "916c35125b5d8323a21526d7a9154ca626453f63d0878e95b9f613a95006c990",
               "patches": [],
               "platform": "aarch64-apple-darwin",
@@ -9368,10 +9062,9 @@
             }
           },
           "pythons_hub": {
-            "bzlFile": "@@rules_python~0.26.0//python/extensions/private:pythons_hub.bzl",
+            "bzlFile": "@@rules_python~//python/extensions/private:pythons_hub.bzl",
             "ruleClassName": "hub_repo",
             "attributes": {
-              "name": "rules_python~0.26.0~python~pythons_hub",
               "default_python_version": "3.8",
               "toolchain_prefixes": [
                 "_0000_python_3_11_",
@@ -9392,10 +9085,9 @@
             }
           },
           "python_3_8_aarch64-unknown-linux-gnu": {
-            "bzlFile": "@@rules_python~0.26.0//python:repositories.bzl",
+            "bzlFile": "@@rules_python~//python:repositories.bzl",
             "ruleClassName": "python_repository",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_8_aarch64-unknown-linux-gnu",
               "sha256": "236a300f386ead02ca98dbddbc026ff4ef4de6701a394106e291ff8b75445ee1",
               "patches": [],
               "platform": "aarch64-unknown-linux-gnu",
@@ -9411,19 +9103,17 @@
             }
           },
           "python_3_8": {
-            "bzlFile": "@@rules_python~0.26.0//python/private:toolchains_repo.bzl",
+            "bzlFile": "@@rules_python~//python/private:toolchains_repo.bzl",
             "ruleClassName": "toolchain_aliases",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_8",
               "python_version": "3.8.18",
               "user_repository_name": "python_3_8"
             }
           },
           "python_3_11_x86_64-pc-windows-msvc": {
-            "bzlFile": "@@rules_python~0.26.0//python:repositories.bzl",
+            "bzlFile": "@@rules_python~//python:repositories.bzl",
             "ruleClassName": "python_repository",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_11_x86_64-pc-windows-msvc",
               "sha256": "3933545e6d41462dd6a47e44133ea40995bc6efeed8c2e4cbdf1a699303e95ea",
               "patches": [],
               "platform": "x86_64-pc-windows-msvc",
@@ -9439,10 +9129,9 @@
             }
           },
           "python_3_8_x86_64-apple-darwin": {
-            "bzlFile": "@@rules_python~0.26.0//python:repositories.bzl",
+            "bzlFile": "@@rules_python~//python:repositories.bzl",
             "ruleClassName": "python_repository",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_8_x86_64-apple-darwin",
               "sha256": "fcf04532e644644213977242cd724fe5e84c0a5ac92ae038e07f1b01b474fca3",
               "patches": [],
               "platform": "x86_64-apple-darwin",
@@ -9458,10 +9147,9 @@
             }
           },
           "python_3_8_x86_64-pc-windows-msvc": {
-            "bzlFile": "@@rules_python~0.26.0//python:repositories.bzl",
+            "bzlFile": "@@rules_python~//python:repositories.bzl",
             "ruleClassName": "python_repository",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_8_x86_64-pc-windows-msvc",
               "sha256": "a9d203e78caed94de368d154e841610cef6f6b484738573f4ae9059d37e898a5",
               "patches": [],
               "platform": "x86_64-pc-windows-msvc",
@@ -9477,19 +9165,17 @@
             }
           },
           "python_3_11": {
-            "bzlFile": "@@rules_python~0.26.0//python/private:toolchains_repo.bzl",
+            "bzlFile": "@@rules_python~//python/private:toolchains_repo.bzl",
             "ruleClassName": "toolchain_aliases",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_11",
               "python_version": "3.11.6",
               "user_repository_name": "python_3_11"
             }
           },
           "python_3_11_ppc64le-unknown-linux-gnu": {
-            "bzlFile": "@@rules_python~0.26.0//python:repositories.bzl",
+            "bzlFile": "@@rules_python~//python:repositories.bzl",
             "ruleClassName": "python_repository",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_11_ppc64le-unknown-linux-gnu",
               "sha256": "7937035f690a624dba4d014ffd20c342e843dd46f89b0b0a1e5726b85deb8eaf",
               "patches": [],
               "platform": "ppc64le-unknown-linux-gnu",
@@ -9505,10 +9191,9 @@
             }
           },
           "python_3_11_x86_64-apple-darwin": {
-            "bzlFile": "@@rules_python~0.26.0//python:repositories.bzl",
+            "bzlFile": "@@rules_python~//python:repositories.bzl",
             "ruleClassName": "python_repository",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_11_x86_64-apple-darwin",
               "sha256": "178cb1716c2abc25cb56ae915096c1a083e60abeba57af001996e8bc6ce1a371",
               "patches": [],
               "platform": "x86_64-apple-darwin",
@@ -9524,10 +9209,9 @@
             }
           },
           "python_versions": {
-            "bzlFile": "@@rules_python~0.26.0//python/private:toolchains_repo.bzl",
+            "bzlFile": "@@rules_python~//python/private:toolchains_repo.bzl",
             "ruleClassName": "multi_toolchain_aliases",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_versions",
               "python_versions": {
                 "3.8": "python_3_8",
                 "3.11": "python_3_11"
@@ -9535,10 +9219,9 @@
             }
           },
           "python_3_8_x86_64-unknown-linux-gnu": {
-            "bzlFile": "@@rules_python~0.26.0//python:repositories.bzl",
+            "bzlFile": "@@rules_python~//python:repositories.bzl",
             "ruleClassName": "python_repository",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_8_x86_64-unknown-linux-gnu",
               "sha256": "1e8a3babd1500111359b0f5675d770984bcbcb2cc8890b117394f0ed342fb9ec",
               "patches": [],
               "platform": "x86_64-unknown-linux-gnu",
@@ -9554,10 +9237,9 @@
             }
           },
           "python_3_11_x86_64-unknown-linux-gnu": {
-            "bzlFile": "@@rules_python~0.26.0//python:repositories.bzl",
+            "bzlFile": "@@rules_python~//python:repositories.bzl",
             "ruleClassName": "python_repository",
             "attributes": {
-              "name": "rules_python~0.26.0~python~python_3_11_x86_64-unknown-linux-gnu",
               "sha256": "ee37a7eae6e80148c7e3abc56e48a397c1664f044920463ad0df0fc706eacea8",
               "patches": [],
               "platform": "x86_64-unknown-linux-gnu",
@@ -9575,24 +9257,24 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_tools",
             "bazel_tools"
           ]
         ]
       }
     },
-    "@@rules_python~0.26.0//python/extensions/private:internal_deps.bzl%internal_deps": {
+    "@@rules_python~//python/extensions/private:internal_deps.bzl%internal_deps": {
       "general": {
-        "bzlTransitiveDigest": "XP8MssHdcgRUzPajlA0Te3SmGmjfmGdDZ8HceIw8FTQ=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "ne6idUaoP4SJ3e18pSCQ6R4ugdw8ElmkOXa9kpkE0M4=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "pypi__wheel": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__wheel",
               "url": "https://files.pythonhosted.org/packages/b8/8b/31273bf66016be6ad22bb7345c37ff350276cfd46e389a0c2ac5da9d9073/wheel-0.41.2-py3-none-any.whl",
               "sha256": "75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8",
               "type": "zip",
@@ -9603,7 +9285,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__click",
               "url": "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl",
               "sha256": "ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28",
               "type": "zip",
@@ -9614,7 +9295,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__importlib_metadata",
               "url": "https://files.pythonhosted.org/packages/cc/37/db7ba97e676af155f5fcb1a35466f446eadc9104e25b83366e8088c9c926/importlib_metadata-6.8.0-py3-none-any.whl",
               "sha256": "3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb",
               "type": "zip",
@@ -9625,7 +9305,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__pyproject_hooks",
               "url": "https://files.pythonhosted.org/packages/d5/ea/9ae603de7fbb3df820b23a70f6aff92bf8c7770043254ad8d2dc9d6bcba4/pyproject_hooks-1.0.0-py3-none-any.whl",
               "sha256": "283c11acd6b928d2f6a7c73fa0d01cb2bdc5f07c57a2eeb6e83d5e56b97976f8",
               "type": "zip",
@@ -9636,7 +9315,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__pep517",
               "url": "https://files.pythonhosted.org/packages/ee/2f/ef63e64e9429111e73d3d6cbee80591672d16f2725e648ebc52096f3d323/pep517-0.13.0-py3-none-any.whl",
               "sha256": "4ba4446d80aed5b5eac6509ade100bff3e7943a8489de249654a5ae9b33ee35b",
               "type": "zip",
@@ -9647,7 +9325,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__packaging",
               "url": "https://files.pythonhosted.org/packages/ab/c3/57f0601a2d4fe15de7a553c00adbc901425661bf048f2a22dfc500caf121/packaging-23.1-py3-none-any.whl",
               "sha256": "994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61",
               "type": "zip",
@@ -9658,7 +9335,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__pip_tools",
               "url": "https://files.pythonhosted.org/packages/e8/df/47e6267c6b5cdae867adbdd84b437393e6202ce4322de0a5e0b92960e1d6/pip_tools-7.3.0-py3-none-any.whl",
               "sha256": "8717693288720a8c6ebd07149c93ab0be1fced0b5191df9e9decd3263e20d85e",
               "type": "zip",
@@ -9669,7 +9345,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__setuptools",
               "url": "https://files.pythonhosted.org/packages/4f/ab/0bcfebdfc3bfa8554b2b2c97a555569c4c1ebc74ea288741ea8326c51906/setuptools-68.1.2-py3-none-any.whl",
               "sha256": "3d8083eed2d13afc9426f227b24fd1659489ec107c0e86cec2ffdde5c92e790b",
               "type": "zip",
@@ -9680,7 +9355,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__zipp",
               "url": "https://files.pythonhosted.org/packages/8c/08/d3006317aefe25ea79d3b76c9650afabaf6d63d1c8443b236e7405447503/zipp-3.16.2-py3-none-any.whl",
               "sha256": "679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0",
               "type": "zip",
@@ -9691,7 +9365,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__colorama",
               "url": "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl",
               "sha256": "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6",
               "type": "zip",
@@ -9702,7 +9375,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__build",
               "url": "https://files.pythonhosted.org/packages/58/91/17b00d5fac63d3dca605f1b8269ba3c65e98059e1fd99d00283e42a454f0/build-0.10.0-py3-none-any.whl",
               "sha256": "af266720050a66c893a6096a2f410989eeac74ff9a68ba194b3f6473e8e26171",
               "type": "zip",
@@ -9710,17 +9382,14 @@
             }
           },
           "rules_python_internal": {
-            "bzlFile": "@@rules_python~0.26.0//python/private:internal_config_repo.bzl",
+            "bzlFile": "@@rules_python~//python/private:internal_config_repo.bzl",
             "ruleClassName": "internal_config_repo",
-            "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~rules_python_internal"
-            }
+            "attributes": {}
           },
           "pypi__pip": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__pip",
               "url": "https://files.pythonhosted.org/packages/50/c2/e06851e8cc28dcad7c155f4753da8833ac06a5c704c109313b8d5a62968a/pip-23.2.1-py3-none-any.whl",
               "sha256": "7ccf472345f20d35bdc9d1841ff5f313260c2c33fe417f48c30ac46cccabf5be",
               "type": "zip",
@@ -9731,7 +9400,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__installer",
               "url": "https://files.pythonhosted.org/packages/e5/ca/1172b6638d52f2d6caa2dd262ec4c811ba59eee96d54a7701930726bce18/installer-0.7.0-py3-none-any.whl",
               "sha256": "05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53",
               "type": "zip",
@@ -9742,7 +9410,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__more_itertools",
               "url": "https://files.pythonhosted.org/packages/5a/cb/6dce742ea14e47d6f565589e859ad225f2a5de576d7696e0623b784e226b/more_itertools-10.1.0-py3-none-any.whl",
               "sha256": "64e0735fcfdc6f3464ea133afe8ea4483b1c5fe3a3d69852e6503b43a0b222e6",
               "type": "zip",
@@ -9753,7 +9420,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.26.0~internal_deps~pypi__tomli",
               "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl",
               "sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc",
               "type": "zip",
@@ -9763,12 +9429,12 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_skylib",
-            "bazel_skylib~1.5.0"
+            "bazel_skylib~"
           ],
           [
-            "rules_python~0.26.0",
+            "rules_python~",
             "bazel_tools",
             "bazel_tools"
           ]
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/bazel-repository-cache.nix b/pkgs/development/tools/build-managers/bazel/bazel_7/bazel-repository-cache.nix
index 7ca026d0ada5a..392737af0efed 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_7/bazel-repository-cache.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_7/bazel-repository-cache.nix
@@ -12,23 +12,45 @@ let
   modules = builtins.fromJSON (builtins.readFile lockfile);
   modulesVersion = modules.lockFileVersion;
 
-  # a foldl' for json values
-  foldlJSON = op: acc: value:
-    let
-      # preorder, visit the current node first
-      acc' = op acc value;
+  # A foldl' for moduleDepGraph repoSpecs.
+  # We take any RepoSpec object under .moduleDepGraph.<moduleName>.repoSpec
+  foldlModuleDepGraph = op: acc: value:
+    if builtins.isAttrs value && value ? moduleDepGraph && builtins.isAttrs value.moduleDepGraph
+    then
+      lib.foldlAttrs
+        (_acc: moduleDepGraphName: module: (
+          if builtins.isAttrs module && module ? repoSpec
+          then op _acc { inherit moduleDepGraphName; } module.repoSpec
+          else _acc
+        ))
+        acc
+        value.moduleDepGraph
+    else acc;
 
-      # then visit child values, ignoring attribute names
-      children =
-        if builtins.isList value then
-          lib.foldl' (foldlJSON op) acc' value
-        else if builtins.isAttrs value then
-          lib.foldlAttrs (_acc: _name: foldlJSON op _acc) acc' value
-        else
-          acc';
-    in
-    # like foldl', force evaluation of intermediate results
-    builtins.seq acc' children;
+  # a foldl' for moduleExtensions generatedRepoSpecs
+  # We take any RepoSpec object under .moduleExtensions.<moduleExtensionName>.general.generatedRepoSpecs.<generatedRepoName>
+  foldlGeneratedRepoSpecs = op: acc: value:
+    if builtins.isAttrs value && value ? moduleExtensions
+    then
+      lib.foldlAttrs
+        (_acc: moduleExtensionName: moduleExtension: (
+          if builtins.isAttrs moduleExtension
+            && moduleExtension ? general
+            && builtins.isAttrs moduleExtension.general
+            && moduleExtension.general ? generatedRepoSpecs
+            && builtins.isAttrs moduleExtension.general.generatedRepoSpecs
+          then
+            lib.foldlAttrs
+              (__acc: moduleExtensionGeneratedRepoName: repoSpec: (
+                op __acc { inherit moduleExtensionName moduleExtensionGeneratedRepoName; } repoSpec
+              ))
+              _acc
+              moduleExtension.general.generatedRepoSpecs
+          else _acc
+        ))
+        acc
+        value.moduleExtensions
+    else acc;
 
   # remove the "--" prefix, abusing undocumented negative substring length
   sanitize = str:
@@ -36,6 +58,22 @@ let
     then builtins.substring 2 (-1) str
     else str;
 
+  unmangleName = mangledName:
+    if mangledName ? moduleDepGraphName
+    then builtins.replaceStrings [ "@" ] [ "~" ] mangledName.moduleDepGraphName
+    else
+    # given moduleExtensionName = "@scope~//path/to:extension.bzl%extension"
+    # and moduleExtensionGeneratedRepoName = "repoName"
+    # return "scope~extension~repoName"
+      let
+        isMainModule = lib.strings.hasPrefix "//" mangledName.moduleExtensionName;
+        moduleExtensionParts = builtins.split "^@*([a-zA-Z0-9_~]*)//.*%(.*)$" mangledName.moduleExtensionName;
+        match = if (builtins.length moduleExtensionParts >= 2) then builtins.elemAt moduleExtensionParts 1 else [ "unknownPrefix" "unknownScope" "unknownExtension" ];
+        scope = if isMainModule then "_main" else builtins.elemAt match 0;
+        extension = builtins.elemAt match 1;
+      in
+      "${scope}~${extension}~${mangledName.moduleExtensionGeneratedRepoName}";
+
   # We take any "attributes" object that has a "sha256" field. Every value
   # under "attributes" is assumed to be an object, and all the "attributes"
   # with a "sha256" field are assumed to have either a "urls" or "url" field.
@@ -55,9 +93,10 @@ let
   #
   # !REMINDER! This works on a best-effort basis, so try to keep it from
   # failing loudly. Prefer warning traces.
-  extract_source = f: acc: value:
+  extract_source = f: acc: mangledName: value:
     let
       attrs = value.attributes;
+      name = unmangleName mangledName;
       entry = hash: urls: name: {
         ${hash} = fetchurl {
           name = "source"; # just like fetch*, to get some deduplication
@@ -72,11 +111,10 @@ let
         let
           validUrls = builtins.isList urls
             && builtins.all (url: builtins.isString url && builtins.substring 0 4 url == "http") urls;
-          validName = builtins.isString attrs.name;
           validHash = builtins.isString hash;
-          valid = validUrls && validName && validHash;
+          valid = validUrls && validHash;
         in
-        if valid then acc // entry hash urls attrs.name
+        if valid then acc // entry hash urls name
         else acc;
       withToplevelValue = acc: insert acc
         (attrs.integrity or attrs.sha256)
@@ -94,15 +132,16 @@ let
       addSources = acc: withToplevelValue (withRemotePatches (withArchives acc));
     in
     if builtins.isAttrs value && value ? attributes
-      && builtins.isAttrs attrs && attrs ? name
+      && value ? ruleClassName
+      && builtins.isAttrs attrs
       && (attrs ? sha256 || attrs ? integrity)
       && (attrs ? urls || attrs ? url)
-      && f attrs.name
+      && f name
     then addSources acc
     else acc;
 
   requiredSourcePredicate = n: requiredDepNamePredicate (sanitize n);
-  requiredDeps = foldlJSON (extract_source requiredSourcePredicate) { } modules;
+  requiredDeps = foldlModuleDepGraph (extract_source requiredSourcePredicate) { } modules // foldlGeneratedRepoSpecs (extract_source requiredSourcePredicate) { } modules;
 
   command = ''
     mkdir -p $out/content_addressable/sha256
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock b/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock
index 4112726ac2cd2..5612a85bca99a 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock
+++ b/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock
@@ -1,6 +1,6 @@
 {
   "lockFileVersion": 6,
-  "moduleFileHash": "80605390be5478a274618e3f8fd7c7a7e1ce3036e086e1e1593ceba1b132b7f2",
+  "moduleFileHash": "88511df1b260515dce141aec0a1990a64de221731dfb656746b7ae1395acf57f",
   "flags": {
     "cmdRegistries": [
       "https://bcr.bazel.build/"
@@ -25,155 +25,8 @@
       "toolchainsToRegister": [],
       "extensionUsages": [],
       "deps": {
-        "rules_proto": "rules_proto@5.3.0-21.7",
-        "protobuf": "protobuf@21.7",
-        "zlib": "zlib@1.3",
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      }
-    },
-    "rules_proto@5.3.0-21.7": {
-      "name": "rules_proto",
-      "version": "5.3.0-21.7",
-      "key": "rules_proto@5.3.0-21.7",
-      "repoName": "rules_proto",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [],
-      "extensionUsages": [],
-      "deps": {
-        "bazel_skylib": "bazel_skylib@1.3.0",
-        "com_google_protobuf": "protobuf@21.7",
-        "rules_cc": "rules_cc@0.0.9",
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "urls": [
-            "https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz"
-          ],
-          "integrity": "sha256-3D+yBqLLNEG0heseQjFlsjEjWh6psDG0Qzz3vB+kYN0=",
-          "strip_prefix": "rules_proto-5.3.0-21.7",
-          "remote_patches": {},
-          "remote_patch_strip": 0
-        }
-      }
-    },
-    "protobuf@21.7": {
-      "name": "protobuf",
-      "version": "21.7",
-      "key": "protobuf@21.7",
-      "repoName": "protobuf",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [],
-      "extensionUsages": [
-        {
-          "extensionBzlFile": "@rules_jvm_external//:extensions.bzl",
-          "extensionName": "maven",
-          "usingModule": "protobuf@21.7",
-          "location": {
-            "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel",
-            "line": 22,
-            "column": 22
-          },
-          "imports": {
-            "maven": "maven"
-          },
-          "devImports": [],
-          "tags": [
-            {
-              "tagName": "install",
-              "attributeValues": {
-                "name": "maven",
-                "artifacts": [
-                  "com.google.code.findbugs:jsr305:3.0.2",
-                  "com.google.code.gson:gson:2.8.9",
-                  "com.google.errorprone:error_prone_annotations:2.3.2",
-                  "com.google.j2objc:j2objc-annotations:1.3",
-                  "com.google.guava:guava:31.1-jre",
-                  "com.google.guava:guava-testlib:31.1-jre",
-                  "com.google.truth:truth:1.1.2",
-                  "junit:junit:4.13.2",
-                  "org.mockito:mockito-core:4.3.1"
-                ]
-              },
-              "devDependency": false,
-              "location": {
-                "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel",
-                "line": 24,
-                "column": 14
-              }
-            }
-          ],
-          "hasDevUseExtension": false,
-          "hasNonDevUseExtension": true
-        }
-      ],
-      "deps": {
-        "bazel_skylib": "bazel_skylib@1.3.0",
-        "rules_python": "rules_python@0.22.1",
-        "rules_cc": "rules_cc@0.0.9",
-        "rules_proto": "rules_proto@5.3.0-21.7",
-        "rules_java": "rules_java@7.4.0",
-        "rules_pkg": "rules_pkg@0.7.0",
-        "com_google_abseil": "abseil-cpp@20211102.0",
-        "zlib": "zlib@1.3",
-        "upb": "upb@0.0.0-20220923-a547704",
-        "rules_jvm_external": "rules_jvm_external@4.4.2",
-        "com_google_googletest": "googletest@1.11.0",
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "urls": [
-            "https://github.com/protocolbuffers/protobuf/releases/download/v21.7/protobuf-all-21.7.zip"
-          ],
-          "integrity": "sha256-VJOiH17T/FAuZv7GuUScBqVRztYwAvpIkDxA36jeeko=",
-          "strip_prefix": "protobuf-21.7",
-          "remote_patches": {
-            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel.patch": "sha256-q3V2+eq0v2XF0z8z+V+QF4cynD6JvHI1y3kI/+rzl5s=",
-            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel_for_examples.patch": "sha256-O7YP6s3lo/1opUiO0jqXYORNHdZ/2q3hjz1QGy8QdIU=",
-            "https://bcr.bazel.build/modules/protobuf/21.7/patches/relative_repo_names.patch": "sha256-RK9RjW8T5UJNG7flIrnFiNE9vKwWB+8uWWtJqXYT0w4=",
-            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_missing_files.patch": "sha256-Hyne4DG2u5bXcWHNxNMirA2QFAe/2Cl8oMm1XJdkQIY="
-          },
-          "remote_patch_strip": 1
-        }
-      }
-    },
-    "zlib@1.3": {
-      "name": "zlib",
-      "version": "1.3",
-      "key": "zlib@1.3",
-      "repoName": "zlib",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [],
-      "extensionUsages": [],
-      "deps": {
-        "platforms": "platforms@0.0.7",
-        "rules_cc": "rules_cc@0.0.9",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "urls": [
-            "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.tar.gz"
-          ],
-          "integrity": "sha256-/wukwpIBPbwnUws6geH5qBPNOd4Byl4Pi/NVcC76WT4=",
-          "strip_prefix": "zlib-1.3",
-          "remote_patches": {
-            "https://bcr.bazel.build/modules/zlib/1.3/patches/add_build_file.patch": "sha256-Ei+FYaaOo7A3jTKunMEodTI0Uw5NXQyZEcboMC8JskY=",
-            "https://bcr.bazel.build/modules/zlib/1.3/patches/module_dot_bazel.patch": "sha256-fPWLM+2xaF/kuy+kZc1YTfW6hNjrkG400Ho7gckuyJk="
-          },
-          "remote_patch_strip": 0
-        }
       }
     },
     "bazel_tools@_": {
@@ -341,36 +194,6 @@
         "bazel_tools": "bazel_tools@_"
       }
     },
-    "bazel_skylib@1.3.0": {
-      "name": "bazel_skylib",
-      "version": "1.3.0",
-      "key": "bazel_skylib@1.3.0",
-      "repoName": "bazel_skylib",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [
-        "//toolchains/unittest:cmd_toolchain",
-        "//toolchains/unittest:bash_toolchain"
-      ],
-      "extensionUsages": [],
-      "deps": {
-        "platforms": "platforms@0.0.7",
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "urls": [
-            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz"
-          ],
-          "integrity": "sha256-dNVE2W9KW7Yw1GXKi7z+Ix41lOWq5X4e2/F6brPKJQY=",
-          "strip_prefix": "",
-          "remote_patches": {},
-          "remote_patch_strip": 0
-        }
-      }
-    },
     "rules_cc@0.0.9": {
       "name": "rules_cc",
       "version": "0.0.9",
@@ -420,6 +243,161 @@
         }
       }
     },
+    "rules_java@7.4.0": {
+      "name": "rules_java",
+      "version": "7.4.0",
+      "key": "rules_java@7.4.0",
+      "repoName": "rules_java",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [
+        "//toolchains:all",
+        "@local_jdk//:runtime_toolchain_definition",
+        "@local_jdk//:bootstrap_runtime_toolchain_definition",
+        "@remotejdk11_linux_toolchain_config_repo//:all",
+        "@remotejdk11_linux_aarch64_toolchain_config_repo//:all",
+        "@remotejdk11_linux_ppc64le_toolchain_config_repo//:all",
+        "@remotejdk11_linux_s390x_toolchain_config_repo//:all",
+        "@remotejdk11_macos_toolchain_config_repo//:all",
+        "@remotejdk11_macos_aarch64_toolchain_config_repo//:all",
+        "@remotejdk11_win_toolchain_config_repo//:all",
+        "@remotejdk11_win_arm64_toolchain_config_repo//:all",
+        "@remotejdk17_linux_toolchain_config_repo//:all",
+        "@remotejdk17_linux_aarch64_toolchain_config_repo//:all",
+        "@remotejdk17_linux_ppc64le_toolchain_config_repo//:all",
+        "@remotejdk17_linux_s390x_toolchain_config_repo//:all",
+        "@remotejdk17_macos_toolchain_config_repo//:all",
+        "@remotejdk17_macos_aarch64_toolchain_config_repo//:all",
+        "@remotejdk17_win_toolchain_config_repo//:all",
+        "@remotejdk17_win_arm64_toolchain_config_repo//:all",
+        "@remotejdk21_linux_toolchain_config_repo//:all",
+        "@remotejdk21_linux_aarch64_toolchain_config_repo//:all",
+        "@remotejdk21_macos_toolchain_config_repo//:all",
+        "@remotejdk21_macos_aarch64_toolchain_config_repo//:all",
+        "@remotejdk21_win_toolchain_config_repo//:all"
+      ],
+      "extensionUsages": [
+        {
+          "extensionBzlFile": "@rules_java//java:extensions.bzl",
+          "extensionName": "toolchains",
+          "usingModule": "rules_java@7.4.0",
+          "location": {
+            "file": "https://bcr.bazel.build/modules/rules_java/7.4.0/MODULE.bazel",
+            "line": 19,
+            "column": 27
+          },
+          "imports": {
+            "remote_java_tools": "remote_java_tools",
+            "remote_java_tools_linux": "remote_java_tools_linux",
+            "remote_java_tools_windows": "remote_java_tools_windows",
+            "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64",
+            "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64",
+            "local_jdk": "local_jdk",
+            "remotejdk11_linux_toolchain_config_repo": "remotejdk11_linux_toolchain_config_repo",
+            "remotejdk11_linux_aarch64_toolchain_config_repo": "remotejdk11_linux_aarch64_toolchain_config_repo",
+            "remotejdk11_linux_ppc64le_toolchain_config_repo": "remotejdk11_linux_ppc64le_toolchain_config_repo",
+            "remotejdk11_linux_s390x_toolchain_config_repo": "remotejdk11_linux_s390x_toolchain_config_repo",
+            "remotejdk11_macos_toolchain_config_repo": "remotejdk11_macos_toolchain_config_repo",
+            "remotejdk11_macos_aarch64_toolchain_config_repo": "remotejdk11_macos_aarch64_toolchain_config_repo",
+            "remotejdk11_win_toolchain_config_repo": "remotejdk11_win_toolchain_config_repo",
+            "remotejdk11_win_arm64_toolchain_config_repo": "remotejdk11_win_arm64_toolchain_config_repo",
+            "remotejdk17_linux_toolchain_config_repo": "remotejdk17_linux_toolchain_config_repo",
+            "remotejdk17_linux_aarch64_toolchain_config_repo": "remotejdk17_linux_aarch64_toolchain_config_repo",
+            "remotejdk17_linux_ppc64le_toolchain_config_repo": "remotejdk17_linux_ppc64le_toolchain_config_repo",
+            "remotejdk17_linux_s390x_toolchain_config_repo": "remotejdk17_linux_s390x_toolchain_config_repo",
+            "remotejdk17_macos_toolchain_config_repo": "remotejdk17_macos_toolchain_config_repo",
+            "remotejdk17_macos_aarch64_toolchain_config_repo": "remotejdk17_macos_aarch64_toolchain_config_repo",
+            "remotejdk17_win_toolchain_config_repo": "remotejdk17_win_toolchain_config_repo",
+            "remotejdk17_win_arm64_toolchain_config_repo": "remotejdk17_win_arm64_toolchain_config_repo",
+            "remotejdk21_linux_toolchain_config_repo": "remotejdk21_linux_toolchain_config_repo",
+            "remotejdk21_linux_aarch64_toolchain_config_repo": "remotejdk21_linux_aarch64_toolchain_config_repo",
+            "remotejdk21_macos_toolchain_config_repo": "remotejdk21_macos_toolchain_config_repo",
+            "remotejdk21_macos_aarch64_toolchain_config_repo": "remotejdk21_macos_aarch64_toolchain_config_repo",
+            "remotejdk21_win_toolchain_config_repo": "remotejdk21_win_toolchain_config_repo"
+          },
+          "devImports": [],
+          "tags": [],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        }
+      ],
+      "deps": {
+        "platforms": "platforms@0.0.7",
+        "rules_cc": "rules_cc@0.0.9",
+        "bazel_skylib": "bazel_skylib@1.3.0",
+        "rules_proto": "rules_proto@5.3.0-21.7",
+        "rules_license": "rules_license@0.0.7",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/bazelbuild/rules_java/releases/download/7.4.0/rules_java-7.4.0.tar.gz"
+          ],
+          "integrity": "sha256-l27wi0nJKXQfIBeQ5Z44B8cq2B9CjIvJU82+/1/tFes=",
+          "strip_prefix": "",
+          "remote_patches": {},
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "rules_license@0.0.7": {
+      "name": "rules_license",
+      "version": "0.0.7",
+      "key": "rules_license@0.0.7",
+      "repoName": "rules_license",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/bazelbuild/rules_license/releases/download/0.0.7/rules_license-0.0.7.tar.gz"
+          ],
+          "integrity": "sha256-RTHezLkTY5ww5cdRKgVNXYdWmNrrddjPkPKEN1/nw2A=",
+          "strip_prefix": "",
+          "remote_patches": {},
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "rules_proto@5.3.0-21.7": {
+      "name": "rules_proto",
+      "version": "5.3.0-21.7",
+      "key": "rules_proto@5.3.0-21.7",
+      "repoName": "rules_proto",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
+        "bazel_skylib": "bazel_skylib@1.3.0",
+        "com_google_protobuf": "protobuf@21.7",
+        "rules_cc": "rules_cc@0.0.9",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz"
+          ],
+          "integrity": "sha256-3D+yBqLLNEG0heseQjFlsjEjWh6psDG0Qzz3vB+kYN0=",
+          "strip_prefix": "rules_proto-5.3.0-21.7",
+          "remote_patches": {},
+          "remote_patch_strip": 0
+        }
+      }
+    },
     "rules_python@0.22.1": {
       "name": "rules_python",
       "version": "0.22.1",
@@ -528,89 +506,246 @@
         }
       }
     },
-    "rules_java@7.4.0": {
-      "name": "rules_java",
-      "version": "7.4.0",
-      "key": "rules_java@7.4.0",
-      "repoName": "rules_java",
+    "buildozer@6.4.0.2": {
+      "name": "buildozer",
+      "version": "6.4.0.2",
+      "key": "buildozer@6.4.0.2",
+      "repoName": "buildozer",
       "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [
-        "//toolchains:all",
-        "@local_jdk//:runtime_toolchain_definition",
-        "@local_jdk//:bootstrap_runtime_toolchain_definition",
-        "@remotejdk11_linux_toolchain_config_repo//:all",
-        "@remotejdk11_linux_aarch64_toolchain_config_repo//:all",
-        "@remotejdk11_linux_ppc64le_toolchain_config_repo//:all",
-        "@remotejdk11_linux_s390x_toolchain_config_repo//:all",
-        "@remotejdk11_macos_toolchain_config_repo//:all",
-        "@remotejdk11_macos_aarch64_toolchain_config_repo//:all",
-        "@remotejdk11_win_toolchain_config_repo//:all",
-        "@remotejdk11_win_arm64_toolchain_config_repo//:all",
-        "@remotejdk17_linux_toolchain_config_repo//:all",
-        "@remotejdk17_linux_aarch64_toolchain_config_repo//:all",
-        "@remotejdk17_linux_ppc64le_toolchain_config_repo//:all",
-        "@remotejdk17_linux_s390x_toolchain_config_repo//:all",
-        "@remotejdk17_macos_toolchain_config_repo//:all",
-        "@remotejdk17_macos_aarch64_toolchain_config_repo//:all",
-        "@remotejdk17_win_toolchain_config_repo//:all",
-        "@remotejdk17_win_arm64_toolchain_config_repo//:all",
-        "@remotejdk21_linux_toolchain_config_repo//:all",
-        "@remotejdk21_linux_aarch64_toolchain_config_repo//:all",
-        "@remotejdk21_macos_toolchain_config_repo//:all",
-        "@remotejdk21_macos_aarch64_toolchain_config_repo//:all",
-        "@remotejdk21_win_toolchain_config_repo//:all"
+      "toolchainsToRegister": [],
+      "extensionUsages": [
+        {
+          "extensionBzlFile": "@buildozer//:buildozer_binary.bzl",
+          "extensionName": "buildozer_binary",
+          "usingModule": "buildozer@6.4.0.2",
+          "location": {
+            "file": "https://bcr.bazel.build/modules/buildozer/6.4.0.2/MODULE.bazel",
+            "line": 7,
+            "column": 33
+          },
+          "imports": {
+            "buildozer_binary": "buildozer_binary"
+          },
+          "devImports": [],
+          "tags": [
+            {
+              "tagName": "buildozer",
+              "attributeValues": {
+                "sha256": {
+                  "darwin-amd64": "d29e347ecd6b5673d72cb1a8de05bf1b06178dd229ff5eb67fad5100c840cc8e",
+                  "darwin-arm64": "9b9e71bdbec5e7223871e913b65d12f6d8fa026684daf991f00e52ed36a6978d",
+                  "linux-amd64": "8dfd6345da4e9042daa738d7fdf34f699c5dfce4632f7207956fceedd8494119",
+                  "linux-arm64": "6559558fded658c8fa7432a9d011f7c4dcbac6b738feae73d2d5c352e5f605fa",
+                  "windows-amd64": "e7f05bf847f7c3689dd28926460ce6e1097ae97380ac8e6ae7147b7b706ba19b"
+                },
+                "version": "6.4.0"
+              },
+              "devDependency": false,
+              "location": {
+                "file": "https://bcr.bazel.build/modules/buildozer/6.4.0.2/MODULE.bazel",
+                "line": 8,
+                "column": 27
+              }
+            }
+          ],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        }
       ],
+      "deps": {
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/fmeum/buildozer/releases/download/v6.4.0.2/buildozer-v6.4.0.2.tar.gz"
+          ],
+          "integrity": "sha256-k7tFKQMR2AygxpmZfH0yEPnQmF3efFgD9rBPkj+Yz/8=",
+          "strip_prefix": "buildozer-6.4.0.2",
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/buildozer/6.4.0.2/patches/module_dot_bazel_version.patch": "sha256-gKANF2HMilj7bWmuXs4lbBIAAansuWC4IhWGB/CerjU="
+          },
+          "remote_patch_strip": 1
+        }
+      }
+    },
+    "platforms@0.0.7": {
+      "name": "platforms",
+      "version": "0.0.7",
+      "key": "platforms@0.0.7",
+      "repoName": "platforms",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
+        "rules_license": "rules_license@0.0.7",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz"
+          ],
+          "integrity": "sha256-OlYcmee9vpFzqmU/1Xn+hJ8djWc5V4CrR3Cx84FDHVE=",
+          "strip_prefix": "",
+          "remote_patches": {},
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "protobuf@21.7": {
+      "name": "protobuf",
+      "version": "21.7",
+      "key": "protobuf@21.7",
+      "repoName": "protobuf",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
       "extensionUsages": [
         {
-          "extensionBzlFile": "@rules_java//java:extensions.bzl",
-          "extensionName": "toolchains",
-          "usingModule": "rules_java@7.4.0",
+          "extensionBzlFile": "@rules_jvm_external//:extensions.bzl",
+          "extensionName": "maven",
+          "usingModule": "protobuf@21.7",
           "location": {
-            "file": "https://bcr.bazel.build/modules/rules_java/7.4.0/MODULE.bazel",
-            "line": 19,
-            "column": 27
+            "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel",
+            "line": 22,
+            "column": 22
           },
           "imports": {
-            "remote_java_tools": "remote_java_tools",
-            "remote_java_tools_linux": "remote_java_tools_linux",
-            "remote_java_tools_windows": "remote_java_tools_windows",
-            "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64",
-            "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64",
-            "local_jdk": "local_jdk",
-            "remotejdk11_linux_toolchain_config_repo": "remotejdk11_linux_toolchain_config_repo",
-            "remotejdk11_linux_aarch64_toolchain_config_repo": "remotejdk11_linux_aarch64_toolchain_config_repo",
-            "remotejdk11_linux_ppc64le_toolchain_config_repo": "remotejdk11_linux_ppc64le_toolchain_config_repo",
-            "remotejdk11_linux_s390x_toolchain_config_repo": "remotejdk11_linux_s390x_toolchain_config_repo",
-            "remotejdk11_macos_toolchain_config_repo": "remotejdk11_macos_toolchain_config_repo",
-            "remotejdk11_macos_aarch64_toolchain_config_repo": "remotejdk11_macos_aarch64_toolchain_config_repo",
-            "remotejdk11_win_toolchain_config_repo": "remotejdk11_win_toolchain_config_repo",
-            "remotejdk11_win_arm64_toolchain_config_repo": "remotejdk11_win_arm64_toolchain_config_repo",
-            "remotejdk17_linux_toolchain_config_repo": "remotejdk17_linux_toolchain_config_repo",
-            "remotejdk17_linux_aarch64_toolchain_config_repo": "remotejdk17_linux_aarch64_toolchain_config_repo",
-            "remotejdk17_linux_ppc64le_toolchain_config_repo": "remotejdk17_linux_ppc64le_toolchain_config_repo",
-            "remotejdk17_linux_s390x_toolchain_config_repo": "remotejdk17_linux_s390x_toolchain_config_repo",
-            "remotejdk17_macos_toolchain_config_repo": "remotejdk17_macos_toolchain_config_repo",
-            "remotejdk17_macos_aarch64_toolchain_config_repo": "remotejdk17_macos_aarch64_toolchain_config_repo",
-            "remotejdk17_win_toolchain_config_repo": "remotejdk17_win_toolchain_config_repo",
-            "remotejdk17_win_arm64_toolchain_config_repo": "remotejdk17_win_arm64_toolchain_config_repo",
-            "remotejdk21_linux_toolchain_config_repo": "remotejdk21_linux_toolchain_config_repo",
-            "remotejdk21_linux_aarch64_toolchain_config_repo": "remotejdk21_linux_aarch64_toolchain_config_repo",
-            "remotejdk21_macos_toolchain_config_repo": "remotejdk21_macos_toolchain_config_repo",
-            "remotejdk21_macos_aarch64_toolchain_config_repo": "remotejdk21_macos_aarch64_toolchain_config_repo",
-            "remotejdk21_win_toolchain_config_repo": "remotejdk21_win_toolchain_config_repo"
+            "maven": "maven"
           },
           "devImports": [],
-          "tags": [],
+          "tags": [
+            {
+              "tagName": "install",
+              "attributeValues": {
+                "name": "maven",
+                "artifacts": [
+                  "com.google.code.findbugs:jsr305:3.0.2",
+                  "com.google.code.gson:gson:2.8.9",
+                  "com.google.errorprone:error_prone_annotations:2.3.2",
+                  "com.google.j2objc:j2objc-annotations:1.3",
+                  "com.google.guava:guava:31.1-jre",
+                  "com.google.guava:guava-testlib:31.1-jre",
+                  "com.google.truth:truth:1.1.2",
+                  "junit:junit:4.13.2",
+                  "org.mockito:mockito-core:4.3.1"
+                ]
+              },
+              "devDependency": false,
+              "location": {
+                "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel",
+                "line": 24,
+                "column": 14
+              }
+            }
+          ],
           "hasDevUseExtension": false,
           "hasNonDevUseExtension": true
         }
       ],
       "deps": {
+        "bazel_skylib": "bazel_skylib@1.3.0",
+        "rules_python": "rules_python@0.22.1",
+        "rules_cc": "rules_cc@0.0.9",
+        "rules_proto": "rules_proto@5.3.0-21.7",
+        "rules_java": "rules_java@7.4.0",
+        "rules_pkg": "rules_pkg@0.7.0",
+        "com_google_abseil": "abseil-cpp@20211102.0",
+        "zlib": "zlib@1.3",
+        "upb": "upb@0.0.0-20220923-a547704",
+        "rules_jvm_external": "rules_jvm_external@4.4.2",
+        "com_google_googletest": "googletest@1.11.0",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/protocolbuffers/protobuf/releases/download/v21.7/protobuf-all-21.7.zip"
+          ],
+          "integrity": "sha256-VJOiH17T/FAuZv7GuUScBqVRztYwAvpIkDxA36jeeko=",
+          "strip_prefix": "protobuf-21.7",
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel.patch": "sha256-q3V2+eq0v2XF0z8z+V+QF4cynD6JvHI1y3kI/+rzl5s=",
+            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel_for_examples.patch": "sha256-O7YP6s3lo/1opUiO0jqXYORNHdZ/2q3hjz1QGy8QdIU=",
+            "https://bcr.bazel.build/modules/protobuf/21.7/patches/relative_repo_names.patch": "sha256-RK9RjW8T5UJNG7flIrnFiNE9vKwWB+8uWWtJqXYT0w4=",
+            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_missing_files.patch": "sha256-Hyne4DG2u5bXcWHNxNMirA2QFAe/2Cl8oMm1XJdkQIY="
+          },
+          "remote_patch_strip": 1
+        }
+      }
+    },
+    "zlib@1.3": {
+      "name": "zlib",
+      "version": "1.3",
+      "key": "zlib@1.3",
+      "repoName": "zlib",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
         "platforms": "platforms@0.0.7",
         "rules_cc": "rules_cc@0.0.9",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.tar.gz"
+          ],
+          "integrity": "sha256-/wukwpIBPbwnUws6geH5qBPNOd4Byl4Pi/NVcC76WT4=",
+          "strip_prefix": "zlib-1.3",
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/zlib/1.3/patches/add_build_file.patch": "sha256-Ei+FYaaOo7A3jTKunMEodTI0Uw5NXQyZEcboMC8JskY=",
+            "https://bcr.bazel.build/modules/zlib/1.3/patches/module_dot_bazel.patch": "sha256-fPWLM+2xaF/kuy+kZc1YTfW6hNjrkG400Ho7gckuyJk="
+          },
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "apple_support@1.5.0": {
+      "name": "apple_support",
+      "version": "1.5.0",
+      "key": "apple_support@1.5.0",
+      "repoName": "build_bazel_apple_support",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [
+        "@local_config_apple_cc_toolchains//:all"
+      ],
+      "extensionUsages": [
+        {
+          "extensionBzlFile": "@build_bazel_apple_support//crosstool:setup.bzl",
+          "extensionName": "apple_cc_configure_extension",
+          "usingModule": "apple_support@1.5.0",
+          "location": {
+            "file": "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel",
+            "line": 17,
+            "column": 35
+          },
+          "imports": {
+            "local_config_apple_cc": "local_config_apple_cc",
+            "local_config_apple_cc_toolchains": "local_config_apple_cc_toolchains"
+          },
+          "devImports": [],
+          "tags": [],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        }
+      ],
+      "deps": {
         "bazel_skylib": "bazel_skylib@1.3.0",
-        "rules_proto": "rules_proto@5.3.0-21.7",
-        "rules_license": "rules_license@0.0.7",
+        "platforms": "platforms@0.0.7",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
       },
@@ -619,9 +754,39 @@
         "ruleClassName": "http_archive",
         "attributes": {
           "urls": [
-            "https://github.com/bazelbuild/rules_java/releases/download/7.4.0/rules_java-7.4.0.tar.gz"
+            "https://github.com/bazelbuild/apple_support/releases/download/1.5.0/apple_support.1.5.0.tar.gz"
           ],
-          "integrity": "sha256-l27wi0nJKXQfIBeQ5Z44B8cq2B9CjIvJU82+/1/tFes=",
+          "integrity": "sha256-miM41vja0yRPgj8txghKA+TQ+7J8qJLclw5okNW0gYQ=",
+          "strip_prefix": "",
+          "remote_patches": {},
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "bazel_skylib@1.3.0": {
+      "name": "bazel_skylib",
+      "version": "1.3.0",
+      "key": "bazel_skylib@1.3.0",
+      "repoName": "bazel_skylib",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [
+        "//toolchains/unittest:cmd_toolchain",
+        "//toolchains/unittest:bash_toolchain"
+      ],
+      "extensionUsages": [],
+      "deps": {
+        "platforms": "platforms@0.0.7",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz"
+          ],
+          "integrity": "sha256-dNVE2W9KW7Yw1GXKi7z+Ix41lOWq5X4e2/F6brPKJQY=",
           "strip_prefix": "",
           "remote_patches": {},
           "remote_patch_strip": 0
@@ -837,174 +1002,6 @@
         }
       }
     },
-    "platforms@0.0.7": {
-      "name": "platforms",
-      "version": "0.0.7",
-      "key": "platforms@0.0.7",
-      "repoName": "platforms",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [],
-      "extensionUsages": [],
-      "deps": {
-        "rules_license": "rules_license@0.0.7",
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "urls": [
-            "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz"
-          ],
-          "integrity": "sha256-OlYcmee9vpFzqmU/1Xn+hJ8djWc5V4CrR3Cx84FDHVE=",
-          "strip_prefix": "",
-          "remote_patches": {},
-          "remote_patch_strip": 0
-        }
-      }
-    },
-    "rules_license@0.0.7": {
-      "name": "rules_license",
-      "version": "0.0.7",
-      "key": "rules_license@0.0.7",
-      "repoName": "rules_license",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [],
-      "extensionUsages": [],
-      "deps": {
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "urls": [
-            "https://github.com/bazelbuild/rules_license/releases/download/0.0.7/rules_license-0.0.7.tar.gz"
-          ],
-          "integrity": "sha256-RTHezLkTY5ww5cdRKgVNXYdWmNrrddjPkPKEN1/nw2A=",
-          "strip_prefix": "",
-          "remote_patches": {},
-          "remote_patch_strip": 0
-        }
-      }
-    },
-    "buildozer@6.4.0.2": {
-      "name": "buildozer",
-      "version": "6.4.0.2",
-      "key": "buildozer@6.4.0.2",
-      "repoName": "buildozer",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [],
-      "extensionUsages": [
-        {
-          "extensionBzlFile": "@buildozer//:buildozer_binary.bzl",
-          "extensionName": "buildozer_binary",
-          "usingModule": "buildozer@6.4.0.2",
-          "location": {
-            "file": "https://bcr.bazel.build/modules/buildozer/6.4.0.2/MODULE.bazel",
-            "line": 7,
-            "column": 33
-          },
-          "imports": {
-            "buildozer_binary": "buildozer_binary"
-          },
-          "devImports": [],
-          "tags": [
-            {
-              "tagName": "buildozer",
-              "attributeValues": {
-                "sha256": {
-                  "darwin-amd64": "d29e347ecd6b5673d72cb1a8de05bf1b06178dd229ff5eb67fad5100c840cc8e",
-                  "darwin-arm64": "9b9e71bdbec5e7223871e913b65d12f6d8fa026684daf991f00e52ed36a6978d",
-                  "linux-amd64": "8dfd6345da4e9042daa738d7fdf34f699c5dfce4632f7207956fceedd8494119",
-                  "linux-arm64": "6559558fded658c8fa7432a9d011f7c4dcbac6b738feae73d2d5c352e5f605fa",
-                  "windows-amd64": "e7f05bf847f7c3689dd28926460ce6e1097ae97380ac8e6ae7147b7b706ba19b"
-                },
-                "version": "6.4.0"
-              },
-              "devDependency": false,
-              "location": {
-                "file": "https://bcr.bazel.build/modules/buildozer/6.4.0.2/MODULE.bazel",
-                "line": 8,
-                "column": 27
-              }
-            }
-          ],
-          "hasDevUseExtension": false,
-          "hasNonDevUseExtension": true
-        }
-      ],
-      "deps": {
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "urls": [
-            "https://github.com/fmeum/buildozer/releases/download/v6.4.0.2/buildozer-v6.4.0.2.tar.gz"
-          ],
-          "integrity": "sha256-k7tFKQMR2AygxpmZfH0yEPnQmF3efFgD9rBPkj+Yz/8=",
-          "strip_prefix": "buildozer-6.4.0.2",
-          "remote_patches": {
-            "https://bcr.bazel.build/modules/buildozer/6.4.0.2/patches/module_dot_bazel_version.patch": "sha256-gKANF2HMilj7bWmuXs4lbBIAAansuWC4IhWGB/CerjU="
-          },
-          "remote_patch_strip": 1
-        }
-      }
-    },
-    "apple_support@1.5.0": {
-      "name": "apple_support",
-      "version": "1.5.0",
-      "key": "apple_support@1.5.0",
-      "repoName": "build_bazel_apple_support",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [
-        "@local_config_apple_cc_toolchains//:all"
-      ],
-      "extensionUsages": [
-        {
-          "extensionBzlFile": "@build_bazel_apple_support//crosstool:setup.bzl",
-          "extensionName": "apple_cc_configure_extension",
-          "usingModule": "apple_support@1.5.0",
-          "location": {
-            "file": "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel",
-            "line": 17,
-            "column": 35
-          },
-          "imports": {
-            "local_config_apple_cc": "local_config_apple_cc",
-            "local_config_apple_cc_toolchains": "local_config_apple_cc_toolchains"
-          },
-          "devImports": [],
-          "tags": [],
-          "hasDevUseExtension": false,
-          "hasNonDevUseExtension": true
-        }
-      ],
-      "deps": {
-        "bazel_skylib": "bazel_skylib@1.3.0",
-        "platforms": "platforms@0.0.7",
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "urls": [
-            "https://github.com/bazelbuild/apple_support/releases/download/1.5.0/apple_support.1.5.0.tar.gz"
-          ],
-          "integrity": "sha256-miM41vja0yRPgj8txghKA+TQ+7J8qJLclw5okNW0gYQ=",
-          "strip_prefix": "",
-          "remote_patches": {},
-          "remote_patch_strip": 0
-        }
-      }
-    },
     "stardoc@0.5.1": {
       "name": "stardoc",
       "version": "0.5.1",
@@ -1066,7 +1063,7 @@
     },
     "@@bazel_tools//tools/android:android_extensions.bzl%remote_android_tools_extensions": {
       "general": {
-        "bzlTransitiveDigest": "S0n86BFe4SJ3lRaZiRA5D46oH52UO2hP1T50t/zldOw=",
+        "bzlTransitiveDigest": "ZggrqnDIPRFCqT9XaCYOxLiJx1XuMtOZNG1jvKYZ5lA=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -1155,7 +1152,7 @@
     },
     "@@bazel_tools//tools/test:extensions.bzl%remote_coverage_tools_extension": {
       "general": {
-        "bzlTransitiveDigest": "l5mcjH2gWmbmIycx97bzI2stD0Q0M5gpDc0aLOHKIm8=",
+        "bzlTransitiveDigest": "7n9r2sWPYvn/OzUdHUoiJN/1hgIqWKOFCEQFVwHZGU0=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -1201,7 +1198,7 @@
     },
     "@@rules_java~//java:extensions.bzl%toolchains": {
       "general": {
-        "bzlTransitiveDigest": "tJHbmWnq7m+9eUBnUdv7jZziQ26FmcGL9C5/hU3Q9UQ=",
+        "bzlTransitiveDigest": "0N5b5J9fUzo0sgvH4F3kIEaeXunz4Wy2/UtSFV/eXUY=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -1706,7 +1703,7 @@
     },
     "@@rules_jvm_external~//:extensions.bzl%maven": {
       "general": {
-        "bzlTransitiveDigest": "v8HssW6WP6B8s0BwuAMJuQCz6cQ9jlhOfx4dKBtPYB4=",
+        "bzlTransitiveDigest": "9ol/f6R1HONuabXvQTFIEvT1pWikli+mTIbvGRmDubk=",
         "recordedFileInputs": {
           "@@rules_jvm_external~//rules_jvm_external_deps_install.json": "10442a5ae27d9ff4c2003e5ab71643bf0d8b48dcf968b4173fa274c3232a8c06"
         },
@@ -2729,7 +2726,7 @@
     },
     "@@rules_jvm_external~//:non-module-deps.bzl%non_module_deps": {
       "general": {
-        "bzlTransitiveDigest": "DqBh3ObkOvjDFKv8VTy6J2qr7hXsJm9/sES7bha7ftA=",
+        "bzlTransitiveDigest": "Fq6CvJMzD0/LbttG5TUaCtEm/pFvTgO5X9tCUH87Fb0=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -2756,7 +2753,7 @@
     },
     "@@rules_python~//python/extensions:python.bzl%python": {
       "general": {
-        "bzlTransitiveDigest": "31xtOi5rmBJ3jSHeziLzV7KKKgCc6tMnRUZ1BQLBeao=",
+        "bzlTransitiveDigest": "2Az37kOCPyZmcfbxYv3bex98d5KhE/dEXOXLzid2XhA=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -2785,7 +2782,7 @@
     },
     "@@rules_python~//python/extensions/private:internal_deps.bzl%internal_deps": {
       "general": {
-        "bzlTransitiveDigest": "fUb5iKCtPgjhclraX+//BnJ+LOcG6I6+O9UUxT+gZ50=",
+        "bzlTransitiveDigest": "6qzMi1W/Ln/TUQ7+HG3HnNFz+oFeaWSDOnjCcoByfhI=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test.nix b/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test.nix
index 1761358c263e6..8f5592b5e897b 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test.nix
@@ -24,8 +24,8 @@ let
     # Take all the rules_ deps, bazel_ deps and their transitive dependencies,
     # but none of the platform-specific binaries, as they are large and useless.
     requiredDepNamePredicate = name:
-      null == builtins.match ".*(macos|osx|linux|win|apple|android|maven).*" name
-      && null != builtins.match "(platforms|com_google_|protobuf|rules_|bazel_).*" name ;
+      null == builtins.match ".*(macos|osx|linux|win|android|maven).*" name
+      && null != builtins.match "(platforms|com_google_|protobuf|rules_|bazel_|apple_support).*" name;
   };
 
   mergedDistDir = symlinkJoin {
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix
index ee622ca65cd77..1a31de96ca4f0 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix
@@ -43,7 +43,7 @@
   # Always assume all markers valid (this is needed because we remove markers; they are non-deterministic).
   # Also, don't clean up environment variables (so that NIX_ environment variables are passed to compilers).
 , enableNixHacks ? false
-, version ? "7.1.0",
+, version ? "7.1.2"
 }:
 
 let
@@ -51,7 +51,7 @@ let
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    hash = "sha256-HiDQyJ98nRtKOBqMWGtKQ1qWv8Qfu880osKUlOs4Z6E=";
+    hash = "sha256-nPbtIxnIFpGdlwFe720MWULNGu1I4DxzuggV2VPtYas=";
   };
 
   # Use builtins.fetchurl to avoid IFD, in particular on hydra
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock b/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock
index 4112726ac2cd2..8a59108bd55d3 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock
+++ b/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock
@@ -1066,7 +1066,7 @@
     },
     "@@bazel_tools//tools/android:android_extensions.bzl%remote_android_tools_extensions": {
       "general": {
-        "bzlTransitiveDigest": "S0n86BFe4SJ3lRaZiRA5D46oH52UO2hP1T50t/zldOw=",
+        "bzlTransitiveDigest": "ZggrqnDIPRFCqT9XaCYOxLiJx1XuMtOZNG1jvKYZ5lA=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -1155,7 +1155,7 @@
     },
     "@@bazel_tools//tools/test:extensions.bzl%remote_coverage_tools_extension": {
       "general": {
-        "bzlTransitiveDigest": "l5mcjH2gWmbmIycx97bzI2stD0Q0M5gpDc0aLOHKIm8=",
+        "bzlTransitiveDigest": "7n9r2sWPYvn/OzUdHUoiJN/1hgIqWKOFCEQFVwHZGU0=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -1201,7 +1201,7 @@
     },
     "@@rules_java~//java:extensions.bzl%toolchains": {
       "general": {
-        "bzlTransitiveDigest": "tJHbmWnq7m+9eUBnUdv7jZziQ26FmcGL9C5/hU3Q9UQ=",
+        "bzlTransitiveDigest": "0N5b5J9fUzo0sgvH4F3kIEaeXunz4Wy2/UtSFV/eXUY=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -1706,7 +1706,7 @@
     },
     "@@rules_jvm_external~//:extensions.bzl%maven": {
       "general": {
-        "bzlTransitiveDigest": "v8HssW6WP6B8s0BwuAMJuQCz6cQ9jlhOfx4dKBtPYB4=",
+        "bzlTransitiveDigest": "9ol/f6R1HONuabXvQTFIEvT1pWikli+mTIbvGRmDubk=",
         "recordedFileInputs": {
           "@@rules_jvm_external~//rules_jvm_external_deps_install.json": "10442a5ae27d9ff4c2003e5ab71643bf0d8b48dcf968b4173fa274c3232a8c06"
         },
@@ -2729,7 +2729,7 @@
     },
     "@@rules_jvm_external~//:non-module-deps.bzl%non_module_deps": {
       "general": {
-        "bzlTransitiveDigest": "DqBh3ObkOvjDFKv8VTy6J2qr7hXsJm9/sES7bha7ftA=",
+        "bzlTransitiveDigest": "Fq6CvJMzD0/LbttG5TUaCtEm/pFvTgO5X9tCUH87Fb0=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -2756,7 +2756,7 @@
     },
     "@@rules_python~//python/extensions:python.bzl%python": {
       "general": {
-        "bzlTransitiveDigest": "31xtOi5rmBJ3jSHeziLzV7KKKgCc6tMnRUZ1BQLBeao=",
+        "bzlTransitiveDigest": "2Az37kOCPyZmcfbxYv3bex98d5KhE/dEXOXLzid2XhA=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
@@ -2785,7 +2785,7 @@
     },
     "@@rules_python~//python/extensions/private:internal_deps.bzl%internal_deps": {
       "general": {
-        "bzlTransitiveDigest": "fUb5iKCtPgjhclraX+//BnJ+LOcG6I6+O9UUxT+gZ50=",
+        "bzlTransitiveDigest": "6qzMi1W/Ln/TUQ7+HG3HnNFz+oFeaWSDOnjCcoByfhI=",
         "recordedFileInputs": {},
         "recordedDirentsInputs": {},
         "envVariables": {},
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.nix b/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.nix
index 6658c0d5b0ed5..4d188ed414544 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.nix
@@ -5,7 +5,6 @@
 , darwin
 , distDir
 , extraBazelArgs ? ""
-, fetchFromGitHub
 , fetchurl
 , jdk11_headless
 , lib
diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
index 65574129ab938..f5b3e03f8609c 100644
--- a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "bazel-buildtools";
-  version = "7.1.1";
+  version = "7.1.2";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = "buildtools";
     rev = "v${version}";
-    hash = "sha256-funwP4D8ck7RT+0z+42MVud/3Da6HvVhFLTqQIucHrQ=";
+    hash = "sha256-Ax7UKkClYsoqxaR+tsQnTv6BFafl9SkY7MC4kYJNmwY=";
   };
 
   vendorHash = "sha256-DigTREfI6I48wxRpGp/bfH1NbUZ4E1B5UTQXpI0LY1A=";
diff --git a/pkgs/development/tools/build-managers/bear/default.nix b/pkgs/development/tools/build-managers/bear/default.nix
index 2b8d3106f3ce5..13f16c9171b6e 100644
--- a/pkgs/development/tools/build-managers/bear/default.nix
+++ b/pkgs/development/tools/build-managers/bear/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , ninja
 , pkg-config
@@ -89,6 +88,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/rizsotto/Bear";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ babariviere DieracDelta ];
+    maintainers = with maintainers; [ DieracDelta ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/bloop/default.nix b/pkgs/development/tools/build-managers/bloop/default.nix
index b7ff801c24ec7..1f3929620f1fc 100644
--- a/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/pkgs/development/tools/build-managers/bloop/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bloop";
-  version = "1.5.17";
+  version = "1.5.18";
 
   platform =
     if stdenv.isLinux && stdenv.isx86_64 then "x86_64-pc-linux"
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
   bloop-binary = fetchurl rec {
     url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}";
     sha256 =
-      if stdenv.isLinux && stdenv.isx86_64 then "sha256-lP7j7pPG7wC36sG+d80F2E6ZHPZcOZN/M/j6CniaNGY="
-      else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-awSBYSN4do4w9dAx6JwoexiptfC01vW1/o53Tp13xj0="
+      if stdenv.isLinux && stdenv.isx86_64 then "sha256-gfmsroHyr/xrbQ72x6LNRvIYaxgUjBOxYsyKqc0c9Oo="
+      else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-fluOkbpVy895YyWisfTaDP2yXbqF+gToc1KbVL8Mon8="
       else throw "unsupported platform";
   };
 
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
     homepage = "https://scalacenter.github.io/bloop/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.asl20;
-    description = "A Scala build server and command-line tool to make the compile and test developer workflows fast and productive in a build-tool-agnostic way";
+    description = "Scala build server and command-line tool to make the compile and test developer workflows fast and productive in a build-tool-agnostic way";
     mainProgram = "bloop";
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
     maintainers = with maintainers; [ kubukoz tomahna ];
diff --git a/pkgs/development/tools/build-managers/bob/default.nix b/pkgs/development/tools/build-managers/bob/default.nix
index 98559d1ca4b4a..ba93433b68626 100644
--- a/pkgs/development/tools/build-managers/bob/default.nix
+++ b/pkgs/development/tools/build-managers/bob/default.nix
@@ -44,7 +44,7 @@ buildGoModule rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A build system for microservices";
+    description = "Build system for microservices";
     mainProgram = "bob";
     homepage = "https://bob.build";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/build-managers/buck/default.nix b/pkgs/development/tools/build-managers/buck/default.nix
index a21a38839b10d..f494e4053525c 100644
--- a/pkgs/development/tools/build-managers/buck/default.nix
+++ b/pkgs/development/tools/build-managers/buck/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://buck.build/";
-    description = "A high-performance build tool";
+    description = "High-performance build tool";
     mainProgram = "buck";
     maintainers = [ maintainers.jgertm ];
     license = licenses.asl20;
diff --git a/pkgs/development/tools/build-managers/buck2/default.nix b/pkgs/development/tools/build-managers/buck2/default.nix
index 3aad79ce1e581..c1e504a2da5db 100644
--- a/pkgs/development/tools/build-managers/buck2/default.nix
+++ b/pkgs/development/tools/build-managers/buck2/default.nix
@@ -38,7 +38,7 @@ let
   buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json);
 
   # our version of buck2; this should be a git tag
-  version = "2024-03-15";
+  version = "2024-05-15";
 
   # the platform-specific, statically linked binary — which is also
   # zstd-compressed
@@ -63,7 +63,7 @@ let
   # tooling
   prelude-src =
     let
-      prelude-hash = "c68a0e4b35928891e72df1738c890bfcb76a6174";
+      prelude-hash = "4e9e6d50b8b461564a7e351ff60b87fe59d7e53b";
       name = "buck2-prelude-${version}.tar.gz";
       hash = buildHashes."_prelude";
       url = "https://github.com/facebook/buck2-prelude/archive/${prelude-hash}.tar.gz";
diff --git a/pkgs/development/tools/build-managers/buck2/hashes.json b/pkgs/development/tools/build-managers/buck2/hashes.json
index 280228e6f4e8e..0aa1592ceb1fc 100644
--- a/pkgs/development/tools/build-managers/buck2/hashes.json
+++ b/pkgs/development/tools/build-managers/buck2/hashes.json
@@ -1,7 +1,7 @@
 { "_comment": "@generated by pkgs/development/tools/build-managers/buck2/update.sh"
-, "_prelude": "sha256-PTetJetdpFU3bKLU1WESMwIEZox86IcrczvCxmaQzoE="
-, "x86_64-linux": "sha256-2vaKYCFRu2fNA/Nsu3HHT5DWtNeMnEfE8FVl7bat1HQ="
-, "x86_64-darwin": "sha256-zzB3sPOCDGWAb4CQO0yjb7Bph+ioi3cJoMYO/2YzXfU="
-, "aarch64-linux": "sha256-sx8rcADlfdAECL/SSHeB7vzxoedqx6+yT7yJp1qLBgM="
-, "aarch64-darwin": "sha256-GKQ8Xfe9iRpgq5SrM6nyyIPBh9gC25uN/vzGRjViQdQ="
+, "_prelude": "sha256-r2opeCtXAFxF3PbqKDKK0+pcySe70hUEtMiX7QlWZCQ="
+, "x86_64-linux": "sha256-Ln2FkZDQRKlTLU+EvcEE0VNW0BdnaZRd9nNeY8YgGVA="
+, "x86_64-darwin": "sha256-qSO+eERWWBH7KKBft/cze3sV04QZl3itpFNud6AFrFM="
+, "aarch64-linux": "sha256-KNYsZv5io4NYa/45rxzx+5ta6L7LrxV/GnqNWT4Y5/k="
+, "aarch64-darwin": "sha256-YUMrU5WsRu9ZAMzUS3xS/FFuiXtfbByMtT49CRGQ8do="
 }
diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix
index a2f007a0fcf4f..39d974e0f3b8e 100644
--- a/pkgs/development/tools/build-managers/conan/default.nix
+++ b/pkgs/development/tools/build-managers/conan/default.nix
@@ -21,7 +21,6 @@ python3.pkgs.buildPythonApplication rec {
   };
 
   nativeBuildInputs = with python3.pkgs; [
-    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/build-managers/corrosion/default.nix b/pkgs/development/tools/build-managers/corrosion/default.nix
index c452e9aa4f5bb..6809ee7ffd7ac 100644
--- a/pkgs/development/tools/build-managers/corrosion/default.nix
+++ b/pkgs/development/tools/build-managers/corrosion/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "corrosion";
-  version = "0.4.8";
+  version = "0.5";
 
   src = fetchFromGitHub {
     owner = "corrosion-rs";
     repo = "corrosion";
     rev = "v${version}";
-    hash = "sha256-ChoeN7qQRR1YmYYvPdJVJ2SVGTDGlM7PsN9jzFjQEyU=";
+    hash = "sha256-vaNXXXaGqYNmhonU+ANN857LAUgwv+PMcON+nBuUoeo=";
   };
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
diff --git a/pkgs/development/tools/build-managers/drake/default.nix b/pkgs/development/tools/build-managers/drake/default.nix
index 2f753c82521e2..139f8e0436a50 100644
--- a/pkgs/development/tools/build-managers/drake/default.nix
+++ b/pkgs/development/tools/build-managers/drake/default.nix
@@ -8,7 +8,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "drake";
 
   meta = with lib; {
-    description = "A branch of Rake supporting automatic parallelizing of tasks";
+    description = "Branch of Rake supporting automatic parallelizing of tasks";
     homepage = "http://quix.github.io/rake/";
     maintainers = with maintainers; [ romildo manveru nicknovitski ];
     license = licenses.mit;
diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix
deleted file mode 100644
index d815a9515dc6e..0000000000000
--- a/pkgs/development/tools/build-managers/dub/default.nix
+++ /dev/null
@@ -1,158 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, curl, libevent, rsync, ldc, dcompiler ? ldc }:
-
-assert dcompiler != null;
-
-stdenv.mkDerivation rec {
-  pname = "dub";
-  version = "1.33.0";
-
-  enableParallelBuilding = true;
-
-  src = fetchFromGitHub {
-    owner = "dlang";
-    repo = "dub";
-    rev = "v${version}";
-    sha256 = "sha256-4Mha7WF6cg3DIccfpvOnheuvgfziv/7wo8iFsPXO4yY=";
-  };
-
-  dubvar = "\\$DUB";
-  postPatch = ''
-    patchShebangs test
-
-
-    # Can be removed with https://github.com/dlang/dub/pull/1368
-    substituteInPlace test/fetchzip.sh \
-        --replace "dub remove" "\"${dubvar}\" remove"
-  '';
-
-  nativeBuildInputs = [ dcompiler libevent rsync ];
-  buildInputs = [ curl ];
-
-  buildPhase = ''
-    for dc_ in dmd ldmd2 gdmd; do
-      echo "... check for D compiler $dc_ ..."
-      dc=$(type -P $dc_ || echo "")
-      if [ ! "$dc" == "" ]; then
-        break
-      fi
-    done
-    if [ "$dc" == "" ]; then
-      exit "Error: could not find D compiler"
-    fi
-    echo "$dc_ found and used as D compiler to build $pname"
-    $dc ./build.d
-    ./build
-  '';
-
-  doCheck = !stdenv.isDarwin;
-
-  checkPhase = ''
-    export DUB=$NIX_BUILD_TOP/source/bin/dub
-    export PATH=$PATH:$NIX_BUILD_TOP/source/bin/
-    export DC=${dcompiler.out}/bin/${if dcompiler.pname=="ldc" then "ldc2" else dcompiler.pname}
-    echo "DC out --> $DC"
-    export HOME=$TMP
-
-    rm -rf test/issue502-root-import
-    rm test/issue674-concurrent-dub.sh
-    rm test/issue672-upgrade-optional.sh
-    rm test/issue990-download-optional-selected.sh
-    rm test/issue877-auto-fetch-package-on-run.sh
-    rm test/issue1037-better-dependency-messages.sh
-    rm test/issue1416-maven-repo-pkg-supplier.sh
-    rm test/issue1180-local-cache-broken.sh
-    rm test/issue1574-addcommand.sh
-    rm test/issue1524-maven-upgrade-dependency-tree.sh
-    rm test/issue1773-lint.sh
-
-    rm test/ddox.sh
-    rm test/fetchzip.sh
-    rm test/feat663-search.sh
-    rm -rf test/git-dependency
-    rm test/interactive-remove.sh
-    rm test/timeout.sh
-    rm test/version-spec.sh
-    rm test/0-init-multi.sh
-    rm test/0-init-multi-json.sh
-    rm test/4-describe-data-1-list.sh
-    rm test/4-describe-data-3-zero-delim.sh
-    rm test/4-describe-import-paths.sh
-    rm test/4-describe-string-import-paths.sh
-    rm test/4-describe-json.sh
-    rm test/5-convert-stdout.sh
-    rm test/issue1003-check-empty-ld-flags.sh
-    rm test/issue103-single-file-package.sh
-    rm test/issue1040-run-with-ver.sh
-    rm test/issue1091-bogus-rebuild.sh
-    rm test/issue1194-warn-wrong-subconfig.sh
-    rm test/issue1277.sh
-    rm test/issue1372-ignore-files-in-hidden-dirs.sh
-    rm test/issue1447-build-settings-vars.sh
-    rm test/issue1531-toolchain-requirements.sh
-    rm test/issue346-redundant-flags.sh
-    rm test/issue361-optional-deps.sh
-    rm test/issue564-invalid-upgrade-dependency.sh
-    rm test/issue586-subpack-dep.sh
-    rm test/issue616-describe-vs-generate-commands.sh
-    rm test/issue686-multiple-march.sh
-    rm test/issue813-fixed-dependency.sh
-    rm test/issue813-pure-sub-dependency.sh
-    rm test/issue820-extra-fields-after-convert.sh
-    rm test/issue923-subpackage-deps.sh
-    rm test/single-file-sdl-default-name.sh
-    rm test/subpackage-common-with-sourcefile-globbing.sh
-    rm test/issue934-path-dep.sh
-    rm -r test/issue2258-dynLib-exe-dep # requires files below
-    rm -r test/1-dynLib-simple
-    rm -r test/1-exec-simple-package-json
-    rm -r test/1-exec-simple
-    rm -r test/1-staticLib-simple
-    rm -r test/2-dynLib-dep
-    rm -r test/2-staticLib-dep
-    rm -r test/2-dynLib-with-staticLib-dep
-    rm -r test/2-sourceLib-dep/
-    rm -r test/3-copyFiles
-    rm -r test/custom-source-main-bug487
-    rm -r test/custom-unittest
-    rm -r test/issue1262-version-inheritance-diamond
-    rm -r test/issue1003-check-empty-ld-flags
-    rm -r test/ignore-hidden-1
-    rm -r test/ignore-hidden-2
-    rm -r test/issue1427-betterC
-    rm -r test/issue130-unicode-*
-    rm -r test/issue1262-version-inheritance
-    rm -r test/issue1372-ignore-files-in-hidden-dirs
-    rm -r test/issue1350-transitive-none-deps
-    rm -r test/issue1775
-    rm -r test/issue1447-build-settings-vars
-    rm -r test/issue1408-inherit-linker-files
-    rm -r test/issue1551-var-escaping
-    rm -r test/issue754-path-selection-fail
-    rm -r test/issue1788-incomplete-string-import-override
-    rm -r test/subpackage-ref
-    rm -r test/issue777-bogus-path-dependency
-    rm -r test/issue959-path-based-subpack-dep
-    rm -r test/issue97-targettype-none-nodeps
-    rm -r test/issue97-targettype-none-onerecipe
-    rm -r test/path-subpackage-ref
-    rm -r test/sdl-package-simple
-    rm -r test/dpath-variable # requires execution of dpath-variable.sh
-    rm -r test/use-c-sources
-
-    ./test/run-unittest.sh
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp bin/dub $out/bin
-  '';
-
-  meta = with lib; {
-    description = "Package and build manager for D applications and libraries";
-    mainProgram = "dub";
-    homepage = "https://code.dlang.org/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ jtbx ];
-    platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
-  };
-}
diff --git a/pkgs/development/tools/build-managers/gn/generic.nix b/pkgs/development/tools/build-managers/gn/generic.nix
index dab03ebfb7581..c890caa5da9f8 100644
--- a/pkgs/development/tools/build-managers/gn/generic.nix
+++ b/pkgs/development/tools/build-managers/gn/generic.nix
@@ -53,7 +53,7 @@ in stdenv.mkDerivation {
   setupHook = ./setup-hook.sh;
 
   meta = with lib; {
-    description = "A meta-build system that generates build files for Ninja";
+    description = "Meta-build system that generates build files for Ninja";
     mainProgram = "gn";
     homepage = "https://gn.googlesource.com/gn";
     license = licenses.bsd3;
diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
index 21e9abd04f203..8e29846e91c77 100644
--- a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "man" "info" ];
 
   meta = with lib; {
-    description = "A tool to control the generation of non-source files from sources";
+    description = "Tool to control the generation of non-source files from sources";
     longDescription = ''
       Make is a tool which controls the generation of executables and
       other non-source files of a program from the program's source files.
diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix
index 774ea50f86238..55b73888bc069 100644
--- a/pkgs/development/tools/build-managers/gnumake/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, updateAutotoolsGnuConfigScriptsHook
 , guileSupport ? false, guile
 # avoid guile depend on bootstrap to prevent dependency cycles
 , inBootstrap ? false
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
     ./0002-remove-impure-dirs.patch
   ];
 
-  nativeBuildInputs = lib.optionals guileEnabled [ pkg-config ];
+  nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ] ++ lib.optionals guileEnabled [ pkg-config ];
   buildInputs = lib.optionals guileEnabled [ guile ];
 
   configureFlags = lib.optional guileEnabled "--with-guile"
@@ -54,7 +55,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "A tool to control the generation of non-source files from sources";
+    description = "Tool to control the generation of non-source files from sources";
     longDescription = ''
       Make is a tool which controls the generation of executables and
       other non-source files of a program from the program's source files.
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index e22779f6d9ca9..32bd64d2f0e3e 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -160,9 +160,9 @@ rec {
   # https://docs.gradle.org/current/userguide/compatibility.html
 
   gradle_8 = gen {
-    version = "8.7";
-    nativeVersion = "0.22-milestone-25";
-    hash = "sha256-VEw11r2Emuil7QvOo5umd9xA9J330YNVYVgtogCblh0=";
+    version = "8.8";
+    nativeVersion = "0.22-milestone-26";
+    hash = "sha256-pLQVhgH4Y2ze6rCb12r7ZAAwu1sUSq/iYaXorwJ9xhI=";
     defaultJava = jdk21;
   };
 
diff --git a/pkgs/development/tools/build-managers/gradle/update.sh b/pkgs/development/tools/build-managers/gradle/update.sh
index 0d6b78a665255..310c368405cb8 100755
--- a/pkgs/development/tools/build-managers/gradle/update.sh
+++ b/pkgs/development/tools/build-managers/gradle/update.sh
@@ -47,6 +47,7 @@ do
 
     url="https://services.gradle.org/distributions/gradle-${v}-bin.zip"
     read -d "\n" gradle_hash gradle_path < <(nix-prefetch-url --print-path $url)
+    gradle_hash=$(nix-hash --to-sri --type sha256 "$gradle_hash")
 
     # Prefix and suffix for "native-platform" dependency.
     gradle_native_prefix="gradle-$v/lib/native-platform-"
diff --git a/pkgs/development/tools/build-managers/gup/default.nix b/pkgs/development/tools/build-managers/gup/default.nix
index 05820b97bd9a0..3576b67208c37 100644
--- a/pkgs/development/tools/build-managers/gup/default.nix
+++ b/pkgs/development/tools/build-managers/gup/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   ];
   meta = {
     inherit (src.meta) homepage;
-    description = "A better make, inspired by djb's redo";
+    description = "Better make, inspired by djb's redo";
     license = lib.licenses.lgpl2Plus;
     maintainers = [ lib.maintainers.timbertson ];
     platforms = lib.platforms.all;
diff --git a/pkgs/development/tools/build-managers/icmake/default.nix b/pkgs/development/tools/build-managers/icmake/default.nix
index 6320646974ad0..039d4ee6970c1 100644
--- a/pkgs/development/tools/build-managers/icmake/default.nix
+++ b/pkgs/development/tools/build-managers/icmake/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A program maintenance (make) utility using a C-like grammar";
+    description = "Program maintenance (make) utility using a C-like grammar";
     homepage = "https://fbb-git.gitlab.io/icmake/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/development/tools/build-managers/kati/default.nix b/pkgs/development/tools/build-managers/kati/default.nix
index dba8eb6381fa5..9ceeb2f8c490c 100644
--- a/pkgs/development/tools/build-managers/kati/default.nix
+++ b/pkgs/development/tools/build-managers/kati/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "An experimental GNU make clone";
+    description = "Experimental GNU make clone";
     mainProgram = "ckati";
     homepage = "https://github.com/google/kati";
     platforms = platforms.all;
diff --git a/pkgs/development/tools/build-managers/knit/default.nix b/pkgs/development/tools/build-managers/knit/default.nix
index 6a2779cd7136d..387985087a7ed 100644
--- a/pkgs/development/tools/build-managers/knit/default.nix
+++ b/pkgs/development/tools/build-managers/knit/default.nix
@@ -27,7 +27,7 @@ buildGoModule rec {
   ];
 
   meta = with lib; {
-    description = "A simple and flexible build tool using Lua, similar to make/mk";
+    description = "Simple and flexible build tool using Lua, similar to make/mk";
     mainProgram = "knit";
     homepage = "https://github.com/zyedidia/knit";
     changelog = "https://github.com/zyedidia/knit/releases/tag/v${version}";
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index 168b4688343cc..4c10652d678fa 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -3,17 +3,16 @@
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
-  version = "2.10.0";
+  version = "2.11.2";
 
   src = fetchurl {
     url = "https://codeberg.org/leiningen/leiningen/raw/tag/${version}/bin/lein-pkg";
-    hash = "sha256-sXV86UHky/Fcv2Sbe09BM2XmEtqJLSKEHsFyg5G7Zq8=";
+    hash = "sha256-KKGmJmjF9Ce0E6hnfjdq/6qZXwI7H80G4tTJisHfXz4=";
   };
 
-  # Check https://codeberg.org/leiningen/leiningen/releases to get the URL for the new version
   jarsrc = fetchurl {
-    url = "https://codeberg.org/attachments/43cebda5-a7c2-405b-b641-5143a00051b5";
-    hash = "sha256-0nKZutNAdawoZNC9BVn4NcbixHbAsKKDvL21dP2tuzQ=";
+    url = "https://codeberg.org/leiningen/leiningen/releases/download/${version}/leiningen-${version}-standalone.jar";
+    hash = "sha256-fTGuI652npJ0OLDNVdFak+faurCf1PwVh3l5Fh4Qh3Q=";
   };
 
   JARNAME = "${pname}-${version}-standalone.jar";
diff --git a/pkgs/development/tools/build-managers/mage/default.nix b/pkgs/development/tools/build-managers/mage/default.nix
index 066bbef7d6262..3ba789eacfe86 100644
--- a/pkgs/development/tools/build-managers/mage/default.nix
+++ b/pkgs/development/tools/build-managers/mage/default.nix
@@ -22,7 +22,7 @@ buildGoModule rec {
   ];
 
   meta = with lib; {
-    description = "A Make/Rake-like Build Tool Using Go";
+    description = "Make/Rake-like Build Tool Using Go";
     mainProgram = "mage";
     homepage = "https://magefile.org/";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/build-managers/mill/default.nix b/pkgs/development/tools/build-managers/mill/default.nix
index fc071b7e21224..0aa0609ed2c7f 100644
--- a/pkgs/development/tools/build-managers/mill/default.nix
+++ b/pkgs/development/tools/build-managers/mill/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, jre, makeWrapper }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "mill";
-  version = "0.11.7";
+  version = "0.11.8";
 
   src = fetchurl {
-    url = "https://github.com/com-lihaoyi/mill/releases/download/${version}/${version}-assembly";
-    hash = "sha256-iijKZlQoiIWos+Kdq9hIgiM5yM7xCf11abrJ71LO9jA=";
+    url = "https://github.com/com-lihaoyi/mill/releases/download/${finalAttrs.version}/${finalAttrs.version}-assembly";
+    hash = "sha256-HORTexIzrxbWjcGrS59JqZboxGCzk8wKf3eKMoYGqrI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://com-lihaoyi.github.io/mill/";
     license = licenses.mit;
-    description = "A build tool for Scala, Java and more";
+    description = "Build tool for Scala, Java and more";
     mainProgram = "mill";
     longDescription = ''
       Mill is a build tool borrowing ideas from modern tools like Bazel, to let you build
@@ -50,4 +50,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ scalavision zenithal ];
     platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/development/tools/build-managers/moon/default.nix b/pkgs/development/tools/build-managers/moon/default.nix
index 08beabc6f74a9..5e6ad1c1e16fd 100644
--- a/pkgs/development/tools/build-managers/moon/default.nix
+++ b/pkgs/development/tools/build-managers/moon/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "moon";
-  version = "1.24.2";
+  version = "1.25.6";
 
   src = fetchFromGitHub {
     owner = "moonrepo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-G1SblnbT0goOsefEy1QbCkp32JKs0usfKMWDsn3k7/M=";
+    hash = "sha256-DFBQryGbanytawHtD3ygSL9ypzM9hoxVoVB1H9ruPu4=";
   };
 
-  cargoHash = "sha256-z2Kgo8i6fk3sfX6bCBmyqIfFSw75v4NhnUFSBKJQwXs=";
+  cargoHash = "sha256-6Ipfz4649vf7qsavkif/zNbElMiZPEi/2ZXHbRcxRTw=";
 
   env = {
     RUSTFLAGS = "-C strip=symbols";
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A task runner and repo management tool for the web ecosystem, written in Rust";
+    description = "Task runner and repo management tool for the web ecosystem, written in Rust";
     mainProgram = "moon";
     homepage = "https://github.com/moonrepo/moon";
     license = licenses.mit;
diff --git a/pkgs/development/tools/build-managers/msbuild/default.nix b/pkgs/development/tools/build-managers/msbuild/default.nix
index 1f5261649b855..c9d6c19c450e9 100644
--- a/pkgs/development/tools/build-managers/msbuild/default.nix
+++ b/pkgs/development/tools/build-managers/msbuild/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, glibcLocales, mono, nuget, unzip, dotnetCorePackages, writeText, roslyn }:
+{ lib, stdenv, fetchurl, makeWrapper, glibcLocales, mono, nuget, unzip, dotnetCorePackages, writeText, roslyn }:
 
 let
 
diff --git a/pkgs/development/tools/build-managers/muon/default.nix b/pkgs/development/tools/build-managers/muon/default.nix
index 92593bb60e5fe..a479dd23d29be 100644
--- a/pkgs/development/tools/build-managers/muon/default.nix
+++ b/pkgs/development/tools/build-managers/muon/default.nix
@@ -125,7 +125,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     homepage = "https://muon.build/";
-    description = "An implementation of Meson build system in C99";
+    description = "Implementation of Meson build system in C99";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix
deleted file mode 100644
index 3402bcfca625f..0000000000000
--- a/pkgs/development/tools/build-managers/ninja/default.nix
+++ /dev/null
@@ -1,108 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, fetchpatch
-, asciidoc
-, docbook_xml_dtd_45
-, docbook_xsl
-, installShellFiles
-, libxslt
-, python3
-, re2c
-, buildPackages
-, buildDocs ? true
-}:
-
-stdenv.mkDerivation rec {
-  pname = "ninja";
-  version = "1.11.1";
-
-  src = fetchFromGitHub {
-    owner = "ninja-build";
-    repo = "ninja";
-    rev = "v${version}";
-    hash = "sha256-LvV/Fi2ARXBkfyA1paCRmLUwCh/rTyz+tGMg2/qEepI=";
-  };
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-
-  nativeBuildInputs = [
-    python3
-    re2c
-    installShellFiles
-  ]
-  ++ lib.optionals buildDocs [
-    asciidoc
-    docbook_xml_dtd_45
-    docbook_xsl
-    libxslt.bin
-  ];
-
-  patches = lib.optionals stdenv.is32bit [
-    # Otherwise ninja may fail on some files in a larger FS.
-    (fetchpatch {
-      name = "stat64.patch";
-      url = "https://github.com/ninja-build/ninja/commit/7bba11ae704efc84cac5fde5e9be53f653f237d1.diff";
-      hash = "sha256-tINS57xLh1lwnYFWCQs5OudfgtIShaOh5zbmv7w5BnQ=";
-    })
-  ];
-
-  postPatch = ''
-    # write rebuild args to file after bootstrap
-    substituteInPlace configure.py --replace "subprocess.check_call(rebuild_args)" "open('rebuild_args','w').write(rebuild_args[0])"
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    # for list of env vars
-    # see https://github.com/ninja-build/ninja/blob/v1.11.1/configure.py#L264
-    CXX="$CXX_FOR_BUILD" \
-    AR="$AR_FOR_BUILD" \
-    CFLAGS="$CFLAGS_FOR_BUILD" \
-    CXXFLAGS="$CXXFLAGS_FOR_BUILD" \
-    LDFLAGS="$LDFLAGS_FOR_BUILD" \
-    python configure.py --bootstrap
-    python configure.py
-
-    source rebuild_args
-  '' + lib.optionalString buildDocs ''
-    # "./ninja -vn manual" output copied here to support cross compilation.
-    asciidoc -b docbook -d book -o build/manual.xml doc/manual.asciidoc
-    xsltproc --nonet doc/docbook.xsl build/manual.xml > doc/manual.html
-  '' + ''
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm555 -t $out/bin ninja
-    installShellCompletion --name ninja \
-      --bash misc/bash-completion \
-      --zsh misc/zsh-completion
-  '' + lib.optionalString buildDocs ''
-    install -Dm444 -t $out/share/doc/ninja doc/manual.asciidoc doc/manual.html
-  '' + ''
-
-    runHook postInstall
-  '';
-
-  setupHook = ./setup-hook.sh;
-
-  meta = with lib; {
-    description = "Small build system with a focus on speed";
-    mainProgram = "ninja";
-    longDescription = ''
-      Ninja is a small build system with a focus on speed. It differs from
-      other build systems in two major respects: it is designed to have its
-      input files generated by a higher-level build system, and it is designed
-      to run builds as fast as possible.
-    '';
-    homepage = "https://ninja-build.org/";
-    license = licenses.asl20;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ thoughtpolice bjornfor orivej ];
-  };
-}
diff --git a/pkgs/development/tools/build-managers/ninja/setup-hook.sh b/pkgs/development/tools/build-managers/ninja/setup-hook.sh
deleted file mode 100644
index 7fa5e4675f39b..0000000000000
--- a/pkgs/development/tools/build-managers/ninja/setup-hook.sh
+++ /dev/null
@@ -1,86 +0,0 @@
-ninjaBuildPhase() {
-    runHook preBuild
-
-    local buildCores=1
-
-    # Parallel building is enabled by default.
-    if [ "${enableParallelBuilding-1}" ]; then
-        buildCores="$NIX_BUILD_CORES"
-    fi
-
-    local flagsArray=(
-        -j$buildCores
-        $ninjaFlags "${ninjaFlagsArray[@]}"
-    )
-
-    echoCmd 'build flags' "${flagsArray[@]}"
-    TERM=dumb ninja "${flagsArray[@]}"
-
-    runHook postBuild
-}
-
-ninjaCheckPhase() {
-    runHook preCheck
-
-    if [ -z "${checkTarget:-}" ]; then
-        if ninja -t query test >/dev/null 2>&1; then
-            checkTarget=test
-        fi
-    fi
-
-    if [ -z "${checkTarget:-}" ]; then
-        echo "no test target found in ninja, doing nothing"
-    else
-        local buildCores=1
-
-        if [ "${enableParallelChecking-1}" ]; then
-            buildCores="$NIX_BUILD_CORES"
-        fi
-
-        local flagsArray=(
-            -j$buildCores
-            $ninjaFlags "${ninjaFlagsArray[@]}"
-            $checkTarget
-        )
-
-        echoCmd 'check flags' "${flagsArray[@]}"
-        TERM=dumb ninja "${flagsArray[@]}"
-    fi
-
-    runHook postCheck
-}
-
-ninjaInstallPhase() {
-    runHook preInstall
-
-    local buildCores=1
-
-    # Parallel building is enabled by default.
-    if [ "${enableParallelInstalling-1}" ]; then
-        buildCores="$NIX_BUILD_CORES"
-    fi
-
-    # shellcheck disable=SC2086
-    local flagsArray=(
-        -j$buildCores
-        $ninjaFlags "${ninjaFlagsArray[@]}"
-        ${installTargets:-install}
-    )
-
-    echoCmd 'install flags' "${flagsArray[@]}"
-    TERM=dumb ninja "${flagsArray[@]}"
-
-    runHook postInstall
-}
-
-if [ -z "${dontUseNinjaBuild-}" -a -z "${buildPhase-}" ]; then
-    buildPhase=ninjaBuildPhase
-fi
-
-if [ -z "${dontUseNinjaCheck-}" -a -z "${checkPhase-}" ]; then
-    checkPhase=ninjaCheckPhase
-fi
-
-if [ -z "${dontUseNinjaInstall-}" -a -z "${installPhase-}" ]; then
-    installPhase=ninjaInstallPhase
-fi
diff --git a/pkgs/development/tools/build-managers/qbs/default.nix b/pkgs/development/tools/build-managers/qbs/default.nix
index 9d1305f776752..092f8efe785c3 100644
--- a/pkgs/development/tools/build-managers/qbs/default.nix
+++ b/pkgs/development/tools/build-managers/qbs/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ qtbase qtscript ];
 
   meta = with lib; {
-    description = "A tool that helps simplify the build process for developing projects across multiple platforms";
+    description = "Tool that helps simplify the build process for developing projects across multiple platforms";
     homepage = "https://wiki.qt.io/Qbs";
     license = licenses.lgpl3;
     maintainers = with maintainers; [ expipiplus1 ];
diff --git a/pkgs/development/tools/build-managers/rake/default.nix b/pkgs/development/tools/build-managers/rake/default.nix
index 9efb8881ab79c..0017a099be0de 100644
--- a/pkgs/development/tools/build-managers/rake/default.nix
+++ b/pkgs/development/tools/build-managers/rake/default.nix
@@ -8,7 +8,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "rake";
 
   meta = with lib; {
-    description = "A software task management and build automation tool";
+    description = "Software task management and build automation tool";
     homepage = "https://github.com/ruby/rake";
     license  = with licenses; mit;
     maintainers = with maintainers; [ manveru nicknovitski ];
diff --git a/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix b/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix
index 7f6be584098d7..21bb25c2e3086 100644
--- a/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix
+++ b/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix
@@ -1,6 +1,6 @@
 # Generated by rebar3_nix
 let fetchOnly = { src, ... }: src;
-in { builder ? fetchOnly, fetchHex, fetchgit, fetchFromGitHub, overrides ? (x: y: { }) }:
+in { builder ? fetchOnly, fetchHex, fetchgit, overrides ? (x: y: { }), ... }:
 let
   self = packages // (overrides self packages);
   packages = with self; {
diff --git a/pkgs/development/tools/build-managers/redo-c/default.nix b/pkgs/development/tools/build-managers/redo-c/default.nix
index 14d33cba03956..ffa93b0d7dcb5 100644
--- a/pkgs/development/tools/build-managers/redo-c/default.nix
+++ b/pkgs/development/tools/build-managers/redo-c/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "An implementation of the redo build system in portable C with zero dependencies";
+    description = "Implementation of the redo build system in portable C with zero dependencies";
     homepage = "https://github.com/leahneukirchen/redo-c";
     license = licenses.cc0;
     platforms = platforms.all;
diff --git a/pkgs/development/tools/build-managers/redo/default.nix b/pkgs/development/tools/build-managers/redo/default.nix
index 594a0f8c2c439..08910725104ae 100644
--- a/pkgs/development/tools/build-managers/redo/default.nix
+++ b/pkgs/development/tools/build-managers/redo/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://jdebp.eu./Softwares/redo/";
-    description = "A system for building target files from source files";
+    description = "System for building target files from source files";
     license = lib.licenses.bsd2;
     maintainers = [ lib.maintainers.vrthra ];
     platforms = lib.platforms.unix;
diff --git a/pkgs/development/tools/build-managers/sbt-extras/default.nix b/pkgs/development/tools/build-managers/sbt-extras/default.nix
index e510b0fd29adf..f3cbd6091ca18 100644
--- a/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -1,16 +1,17 @@
 { lib, stdenv, fetchFromGitHub, which, curl, makeWrapper, jdk, writeScript
-, common-updater-scripts, cacert, git, nixfmt-classic, nix, jq, coreutils, gnused }:
+, common-updater-scripts, cacert, git, nixfmt-classic, nix, jq, coreutils
+, gnused }:
 
 stdenv.mkDerivation rec {
   pname = "sbt-extras";
-  rev = "e3e7378fa325f942da4b0688c83fc42e28bd67f1";
-  version = "2024-02-27";
+  rev = "7208170046457c70a67e4b86c833a074be9de958";
+  version = "2024-05-06";
 
   src = fetchFromGitHub {
     owner = "paulp";
     repo = "sbt-extras";
     inherit rev;
-    sha256 = "W9aol4bJ5UC1LICDlcV2uQH0YHLpLQwSn4GEBEujeiw=";
+    sha256 = "Ci4V1GHKzGux5qU33Z6+NC+YApqlQfgjekGb+WHtLaQ=";
   };
 
   dontBuild = true;
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 580cf127b3c6a..42b9a493d3e85 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -4,15 +4,16 @@
 , jre
 , autoPatchelfHook
 , zlib
+, ncurses
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sbt";
-  version = "1.9.9";
+  version = "1.10.0";
 
   src = fetchurl {
     url = "https://github.com/sbt/sbt/releases/download/v${finalAttrs.version}/sbt-${finalAttrs.version}.tgz";
-    hash = "sha256-xXyuYMISLKG7p3GE37TQ0l/GwYgFOUqzarYgiwwPJi8=";
+    hash = "sha256-FUt95sGSB8c9CjBPkByMS26tmpw6mamKnXKsGUGdJkA=";
   };
 
   postPatch = ''
@@ -26,6 +27,11 @@ stdenv.mkDerivation (finalAttrs: {
     zlib
   ];
 
+  propagatedBuildInputs = [
+    # for infocmp
+    ncurses
+  ];
+
   installPhase = ''
     runHook preInstall
 
@@ -33,9 +39,9 @@ stdenv.mkDerivation (finalAttrs: {
     cp -ra . $out/share/sbt
     ln -sT ../share/sbt/bin/sbt $out/bin/sbt
     ln -sT ../share/sbt/bin/sbtn-${
-      if (stdenv.hostPlatform.isAarch64) then "aarch64" else "x86_64"
-    }-${
-      if (stdenv.isDarwin) then "apple-darwin" else "pc-linux"
+      if (stdenv.isDarwin) then "universal-apple-darwin"
+      else if (stdenv.hostPlatform.isAarch64) then "aarch64-pc-linux"
+      else "x86_64-pc-linux"
     } $out/bin/sbtn
 
     runHook postInstall
@@ -48,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
       binaryBytecode
       binaryNativeCode
     ];
-    description = "A build tool for Scala, Java and more";
+    description = "Build tool for Scala, Java and more";
     maintainers = with maintainers; [ nequissimus kashw2 ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/tools/build-managers/scala-cli/sources.json b/pkgs/development/tools/build-managers/scala-cli/sources.json
index e07a11c40d745..27db1b9db55e1 100644
--- a/pkgs/development/tools/build-managers/scala-cli/sources.json
+++ b/pkgs/development/tools/build-managers/scala-cli/sources.json
@@ -1,21 +1,21 @@
 {
-  "version": "1.3.0",
+  "version": "1.3.2",
   "assets": {
     "aarch64-darwin": {
       "asset": "scala-cli-aarch64-apple-darwin.gz",
-      "sha256": "140klmqcv8cjnznsn35vba7mgmifrp9p776n39m689hkprzz474w"
+      "sha256": "0xs60pnqsxxkamcq0n0am4jbnx4lgnr91ngcwxk0ccfpqf24jpk8"
     },
     "aarch64-linux": {
       "asset": "scala-cli-aarch64-pc-linux.gz",
-      "sha256": "1vxq4j2slrdvxzq0chm8nggdrrj3fdb7q1qqbhf83vlirgrf9da1"
+      "sha256": "1419s6dnwk703mkp209m5fxqphx8g65h0b2kam3zs9z9rii3mjvs"
     },
     "x86_64-darwin": {
       "asset": "scala-cli-x86_64-apple-darwin.gz",
-      "sha256": "0df8jilv5hzka9xhwhhgq7imw4xik2ybdzh318ka77rwd58wy5yy"
+      "sha256": "0ms7yggldckkyayz8wksyg79kgk6xl13g47a2jc7q66syzr495yw"
     },
     "x86_64-linux": {
       "asset": "scala-cli-x86_64-pc-linux.gz",
-      "sha256": "0rw40xqchw3s07acyn2n35z0nlf7fyrvyixhl41wf28q999kbxwn"
+      "sha256": "1jy5xz8n79ck8gxcmy14ldsaj7dfrwrqgdfhp5h39hzvgcs1mjvl"
     }
   }
 }
diff --git a/pkgs/development/tools/build-managers/scons/3.1.2.nix b/pkgs/development/tools/build-managers/scons/3.1.2.nix
index 0bac0685b0d1f..a9d55f59ee0de 100644
--- a/pkgs/development/tools/build-managers/scons/3.1.2.nix
+++ b/pkgs/development/tools/build-managers/scons/3.1.2.nix
@@ -32,7 +32,7 @@ python3.pkgs.buildPythonApplication {
   };
 
   meta = {
-    description = "An improved, cross-platform substitute for Make";
+    description = "Improved, cross-platform substitute for Make";
     longDescription = ''
       SCons is an Open Source software construction tool. Think of SCons as an
       improved, cross-platform substitute for the classic Make utility with
diff --git a/pkgs/development/tools/build-managers/scons/4.1.0.nix b/pkgs/development/tools/build-managers/scons/4.1.0.nix
index f2edf5161aafa..13357dfb99a95 100644
--- a/pkgs/development/tools/build-managers/scons/4.1.0.nix
+++ b/pkgs/development/tools/build-managers/scons/4.1.0.nix
@@ -42,7 +42,7 @@ python3.pkgs.buildPythonApplication {
   };
 
   meta = {
-    description = "An improved, cross-platform substitute for Make";
+    description = "Improved, cross-platform substitute for Make";
     longDescription = ''
       SCons is an Open Source software construction tool. Think of SCons as an
       improved, cross-platform substitute for the classic Make utility with
diff --git a/pkgs/development/tools/build-managers/scons/4.5.2.nix b/pkgs/development/tools/build-managers/scons/4.5.2.nix
index f63702cb7ef44..6b5720c86ee62 100644
--- a/pkgs/development/tools/build-managers/scons/4.5.2.nix
+++ b/pkgs/development/tools/build-managers/scons/4.5.2.nix
@@ -47,7 +47,7 @@ python3.pkgs.buildPythonApplication {
   };
 
   meta = {
-    description = "An improved, cross-platform substitute for Make";
+    description = "Improved, cross-platform substitute for Make";
     longDescription = ''
       SCons is an Open Source software construction tool. Think of SCons as an
       improved, cross-platform substitute for the classic Make utility with
diff --git a/pkgs/development/tools/build-managers/xmake/default.nix b/pkgs/development/tools/build-managers/xmake/default.nix
index f0d48ac331d1e..8bb971deef84c 100644
--- a/pkgs/development/tools/build-managers/xmake/default.nix
+++ b/pkgs/development/tools/build-managers/xmake/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xmake";
-  version = "2.9.1";
+  version = "2.9.2";
 
   src = fetchurl {
     url = "https://github.com/xmake-io/xmake/releases/download/v${version}/xmake-v${version}.tar.gz";
-    hash = "sha256-ox2++MMDrqEmgGi0sawa7BQqxBJMfLfZx+61fEFPjRU=";
+    hash = "sha256-H2F7akVox+s+irDzpnwWmJJFrcVH46fR/YYayzCPtbI=";
   };
 
   nativeBuildInputs = [
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--external=y" ];
 
   meta = with lib; {
-    description = "A cross-platform build utility based on Lua";
+    description = "Cross-platform build utility based on Lua";
     homepage = "https://xmake.io";
     license = licenses.asl20;
     platforms = lua.meta.platforms;
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index 7535394a55519..531e87df84bcd 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -17,13 +17,13 @@
 
 buildGoModule rec {
   pname = "buildah";
-  version = "1.35.3";
+  version = "1.36.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "buildah";
     rev = "v${version}";
-    hash = "sha256-FqgYpCvEEqgnhCHdHN1/inxMJoOjoHLc/xMfhXsA1nc=";
+    hash = "sha256-Ttz1D/jFbxFfpbT2VAkcao2AFwFRD8PLrH8yDSYt3AI=";
   };
 
   outputs = [ "out" "man" ];
@@ -69,7 +69,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A tool which facilitates building OCI images";
+    description = "Tool which facilitates building OCI images";
     mainProgram = "buildah";
     homepage = "https://buildah.io/";
     changelog = "https://github.com/containers/buildah/releases/tag/v${version}";
diff --git a/pkgs/development/tools/buildah/wrapper.nix b/pkgs/development/tools/buildah/wrapper.nix
index 7b9a672d69938..b5042ae1b8273 100644
--- a/pkgs/development/tools/buildah/wrapper.nix
+++ b/pkgs/development/tools/buildah/wrapper.nix
@@ -14,6 +14,7 @@
 , iptables
 , aardvark-dns
 , netavark
+, passt
 }:
 
 let
@@ -36,6 +37,7 @@ let
     ] ++ lib.optionals stdenv.isLinux [
       aardvark-dns
       netavark
+      passt
     ];
   };
 
diff --git a/pkgs/development/tools/buildkit/default.nix b/pkgs/development/tools/buildkit/default.nix
index a82c76af4af2c..89a1ea0e09867 100644
--- a/pkgs/development/tools/buildkit/default.nix
+++ b/pkgs/development/tools/buildkit/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "buildkit";
-  version = "0.13.1";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "moby";
     repo = "buildkit";
     rev = "v${version}";
-    hash = "sha256-BrLDY3T40ndkjuWCx5kLZvMBp8xI5d3MFg9M3IpafWM=";
+    hash = "sha256-I0r9ovydRmGdg5EB+b69Iv2BuvVy82Ydz40UWmStumc=";
   };
 
   vendorHash = null;
@@ -19,12 +19,12 @@ buildGoModule rec {
 
   doCheck = false;
 
-  meta = with lib; {
+  meta = {
     description = "Concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit";
     homepage = "https://github.com/moby/buildkit";
     changelog = "https://github.com/moby/buildkit/releases/tag/v${version}";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ vdemeester developer-guy ];
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ developer-guy vdemeester ];
     mainProgram = "buildctl";
   };
 }
diff --git a/pkgs/development/tools/buildpack/default.nix b/pkgs/development/tools/buildpack/default.nix
index 307a5e58493f0..1acea5abc6ef0 100644
--- a/pkgs/development/tools/buildpack/default.nix
+++ b/pkgs/development/tools/buildpack/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pack";
-  version = "0.33.2";
+  version = "0.34.2";
 
   src = fetchFromGitHub {
     owner = "buildpacks";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-nKMgyMPPBon3DChkikNvb2s41osub+fdCeGFzXwhQJo=";
+    hash = "sha256-1s/0eBRnir2MyrDALcOi5drCIJVkrPBB4RXKX08mxKs=";
   };
 
-  vendorHash = "sha256-/2GO99kfZTra7tJy90Y0nixNafiP65ZpDQnvEhOaGoA=";
+  vendorHash = "sha256-jhgTHhiQUDf9738Zusk1SxEae9G6MQapBRq7DBN5Tuc=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/bunyan-rs/default.nix b/pkgs/development/tools/bunyan-rs/default.nix
index 28f53a148e22d..314af560ca87b 100644
--- a/pkgs/development/tools/bunyan-rs/default.nix
+++ b/pkgs/development/tools/bunyan-rs/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-sQ6f8BHGsPFPchFDjNlZimnu9i99SGYf5bYfM1/2Gac=";
 
   meta = with lib; {
-    description = "A CLI to pretty print logs in bunyan format (Rust port of the original JavaScript bunyan CLI)";
+    description = "CLI to pretty print logs in bunyan format (Rust port of the original JavaScript bunyan CLI)";
     homepage = "https://github.com/LukeMathWalker/bunyan";
     license = with licenses; [ asl20 mit ];
     maintainers = with maintainers; [ netcrns ];
diff --git a/pkgs/development/tools/butane/default.nix b/pkgs/development/tools/butane/default.nix
index 3c13c8971af80..01ba6089364ea 100644
--- a/pkgs/development/tools/butane/default.nix
+++ b/pkgs/development/tools/butane/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "butane";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "coreos";
     repo = "butane";
     rev = "v${version}";
-    hash = "sha256-bSzXiA9dAMuljKCDpbWd1hSICNBAMCAUGPLH+0Sz1mA=";
+    hash = "sha256-KsI+mt7nJHwrq0+GPNcI79jRy/4WEjHp2/egw0PcRLM=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/capnproto-java/default.nix b/pkgs/development/tools/capnproto-java/default.nix
index fa59a5ad2abf5..73c068543fb3b 100644
--- a/pkgs/development/tools/capnproto-java/default.nix
+++ b/pkgs/development/tools/capnproto-java/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, capnproto, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, capnproto, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "capnproto-java";
diff --git a/pkgs/development/tools/castxml/default.nix b/pkgs/development/tools/castxml/default.nix
deleted file mode 100644
index bceafd504dccc..0000000000000
--- a/pkgs/development/tools/castxml/default.nix
+++ /dev/null
@@ -1,72 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-, libffi
-, libxml2
-, zlib
-, withManual ? true
-, withHTML ? true
-, llvmPackages
-, python3
-}:
-
-let
-  inherit (llvmPackages) libclang llvm;
-  inherit (python3.pkgs) sphinx;
-in
-stdenv.mkDerivation (finalAttrs: {
-  pname = "castxml";
-  version = "0.6.5";
-
-  src = fetchFromGitHub {
-    owner = "CastXML";
-    repo = "CastXML";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-r9Emh2KHjANrg+oWeY8Ags3Gd8k3W68J88bAud+AH6I=";
-  };
-
-  nativeBuildInputs = [
-    cmake
-    llvm.dev
-  ] ++ lib.optionals (withManual || withHTML) [
-    sphinx
-  ];
-
-  buildInputs = [
-    libclang
-    libffi
-    libxml2
-    zlib
-  ];
-
-  propagatedBuildInputs = [
-    libclang
-  ];
-
-  cmakeFlags = [
-    "-DCLANG_RESOURCE_DIR=${libclang.dev}/"
-    "-DSPHINX_HTML=${if withHTML then "ON" else "OFF"}"
-    "-DSPHINX_MAN=${if withManual then "ON" else "OFF"}"
-  ];
-
-  # 97% tests passed, 97 tests failed out of 2881
-  # mostly because it checks command line and nix append -isystem and all
-  doCheck = false;
-  # -E exclude 4 tests based on names
-  # see https://github.com/CastXML/CastXML/issues/90
-  checkPhase = ''
-    runHook preCheck
-    ctest -E 'cmd.cc-(gnu|msvc)-((c-src-c)|(src-cxx))-cmd'
-    runHook postCheck
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/CastXML/CastXML";
-    description = "C-family Abstract Syntax Tree XML Output";
-    mainProgram = "castxml";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.unix;
-  };
-})
diff --git a/pkgs/development/tools/cbfmt/default.nix b/pkgs/development/tools/cbfmt/default.nix
index f4af306400ab3..6b13d852b201d 100644
--- a/pkgs/development/tools/cbfmt/default.nix
+++ b/pkgs/development/tools/cbfmt/default.nix
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A tool to format codeblocks inside markdown and org documents";
+    description = "Tool to format codeblocks inside markdown and org documents";
     mainProgram = "cbfmt";
     homepage = "https://github.com/lukas-reineke/cbfmt";
     license = licenses.mit;
diff --git a/pkgs/development/tools/cddl/default.nix b/pkgs/development/tools/cddl/default.nix
index f99e547435ce9..3192a1d4ffbec 100644
--- a/pkgs/development/tools/cddl/default.nix
+++ b/pkgs/development/tools/cddl/default.nix
@@ -32,7 +32,7 @@ bundlerApp rec {
   passthru.updateScript = bundlerUpdateScript "cddl";
 
   meta = with lib; {
-    description = "A parser, generator, and validator for CDDL";
+    description = "Parser, generator, and validator for CDDL";
     homepage    = "https://rubygems.org/gems/cddl";
     license     = with licenses; mit;
     maintainers = with maintainers; [ fdns nicknovitski amesgen ];
diff --git a/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch b/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch
deleted file mode 100644
index ecdee5d544f66..0000000000000
--- a/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 1643b74..8f1ae11 100644
---- a/Makefile
-+++ b/Makefile
-@@ -33,7 +33,7 @@ c++decl: cdgram.c cdlex.c cdecl.c
- 	rm -f cdecl
- 
- cdlex.c: cdlex.l
--	lex cdlex.l && mv lex.yy.c cdlex.c
-+	flex cdlex.l && mv lex.yy.c cdlex.c
- 
- cdgram.c: cdgram.y
- 	yacc cdgram.y && mv y.tab.c cdgram.c
diff --git a/pkgs/development/tools/cdecl/default.nix b/pkgs/development/tools/cdecl/default.nix
deleted file mode 100644
index 48870c7d2df13..0000000000000
--- a/pkgs/development/tools/cdecl/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{lib, stdenv, fetchurl, bison, flex, readline, ncurses, gnused}:
-
-stdenv.mkDerivation rec {
-  pname = "cdecl";
-  version = "2.5";
-  src = fetchurl {
-    url = "https://www.cdecl.org/files/${pname}-blocks-${version}.tar.gz";
-    sha256 = "1b7k0ra30hh8mg8fqv0f0yzkaac6lfg6n376drgbpxg4wwml1rly";
-  };
-
-  patches = [ ./cdecl-2.5-lex.patch ];
-  preBuild = ''
-    ${gnused}/bin/sed 's/getline/cdecl_getline/g' -i cdecl.c;
-    makeFlagsArray=(CFLAGS="-DBSD -DUSE_READLINE -std=gnu89" LIBS=-lreadline);
-    makeFlags="$makeFlags PREFIX=$out BINDIR=$out/bin MANDIR=$out/man1 CATDIR=$out/cat1 CC=$CC";
-    mkdir -p $out/bin;
-  '';
-  buildInputs = [bison flex readline ncurses];
-
-  meta = {
-    description = "Translator English -- C/C++ declarations";
-    license = lib.licenses.publicDomain;
-    maintainers = with lib.maintainers; [ ];
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/tools/cdecrypt/default.nix b/pkgs/development/tools/cdecrypt/default.nix
index 9f742a34a002e..4965eb31e98cc 100644
--- a/pkgs/development/tools/cdecrypt/default.nix
+++ b/pkgs/development/tools/cdecrypt/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A utility that decrypts Wii U NUS content files";
+    description = "Utility that decrypts Wii U NUS content files";
     mainProgram = "cdecrypt";
     homepage = "https://github.com/VitaSmith/cdecrypt";
     changelog = "https://github.com/VitaSmith/cdecrypt/releases/tag/v${version}";
diff --git a/pkgs/development/tools/ceedling/default.nix b/pkgs/development/tools/ceedling/default.nix
index 5910b47b7424a..25c6dd5bb8364 100644
--- a/pkgs/development/tools/ceedling/default.nix
+++ b/pkgs/development/tools/ceedling/default.nix
@@ -8,7 +8,7 @@ bundlerApp {
   exes = [ "ceedling" ];
 
   meta = with lib; {
-    description = "A build system for C projects that is something of an extension around Ruby's Rake";
+    description = "Build system for C projects that is something of an extension around Ruby's Rake";
     homepage    = "http://www.throwtheswitch.org/ceedling";
     license     = licenses.mit;
     platforms   = platforms.unix;
diff --git a/pkgs/development/tools/cfn-nag/default.nix b/pkgs/development/tools/cfn-nag/default.nix
index 4e25f052401d7..8438607102c36 100644
--- a/pkgs/development/tools/cfn-nag/default.nix
+++ b/pkgs/development/tools/cfn-nag/default.nix
@@ -13,7 +13,7 @@ bundlerEnv {
     description = "Linting tool for CloudFormation templates";
     homepage = "https://github.com/stelligent/cfn_nag";
     license = licenses.mit;
-    maintainers = with maintainers; [ wolfangaukang ];
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/changie/default.nix b/pkgs/development/tools/changie/default.nix
index a4050744f09aa..b8fc6af5764b7 100644
--- a/pkgs/development/tools/changie/default.nix
+++ b/pkgs/development/tools/changie/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "changie";
-  version = "1.18.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "miniscruff";
     repo = "changie";
     rev = "v${version}";
-    hash = "sha256-pZe9T/WALFX5xwCiZKbf8fpaG3wmBJbqgM7FTPqlN2k=";
+    hash = "sha256-3GQ9C9UteJG3LfJmDsBbFJ9hnz7ouQ/6bZkQ/8CZ8PI=";
   };
 
-  vendorHash = "sha256-SdaDu9LXgelSEXdOCAbtvt1LnrSVpAIoN6MDSjTeEOs=";
+  vendorHash = "sha256-2SkHId5BDAv525PISLjlrP862Z2fJDN4L839rz8rWaw=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/development/tools/check-jsonschema/default.nix b/pkgs/development/tools/check-jsonschema/default.nix
index c75ca6e41b4b0..fa2d4920a26be 100644
--- a/pkgs/development/tools/check-jsonschema/default.nix
+++ b/pkgs/development/tools/check-jsonschema/default.nix
@@ -4,7 +4,7 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "check-jsonschema";
-  version = "0.28.2";
+  version = "0.28.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -13,7 +13,7 @@ buildPythonApplication rec {
     owner = "python-jsonschema";
     repo = "check-jsonschema";
     rev = "refs/tags/${version}";
-    hash = "sha256-QHcpcpICYqQUUCkLAV4BpDYn7Te/TGbXFPgr8Emp0ew=";
+    hash = "sha256-O2w9P/5og0cI7Ol+d5YVwLuvCjiskrRLL3V/jsYB4k4=";
   };
 
   propagatedBuildInputs = [
@@ -40,7 +40,7 @@ buildPythonApplication rec {
   ];
 
   meta = with lib; {
-    description = "A jsonschema CLI and pre-commit hook";
+    description = "Jsonschema CLI and pre-commit hook";
     mainProgram = "check-jsonschema";
     homepage = "https://github.com/python-jsonschema/check-jsonschema";
     changelog = "https://github.com/python-jsonschema/check-jsonschema/blob/${version}/CHANGELOG.rst";
diff --git a/pkgs/development/tools/check/default.nix b/pkgs/development/tools/check/default.nix
index 8f068c678896d..e7bb571cb199c 100644
--- a/pkgs/development/tools/check/default.nix
+++ b/pkgs/development/tools/check/default.nix
@@ -18,7 +18,7 @@ buildGoModule rec {
   vendorHash = "sha256-DyysiVYFpncmyCzlHIOEtWlCMpm90AC3gdItI9WinSo=";
 
   meta = with lib; {
-    description = "A set of utilities for checking Go sources";
+    description = "Set of utilities for checking Go sources";
     homepage = "https://gitlab.com/opennota/check";
     license = licenses.gpl3;
     maintainers = with maintainers; [ kalbasit ];
diff --git a/pkgs/development/tools/circup/default.nix b/pkgs/development/tools/circup/default.nix
index e63e0d06ea14c..29b6cb3d8a381 100644
--- a/pkgs/development/tools/circup/default.nix
+++ b/pkgs/development/tools/circup/default.nix
@@ -21,7 +21,6 @@ python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = with python3.pkgs; [
     setuptools-scm
-    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/clang-tools/default.nix b/pkgs/development/tools/clang-tools/default.nix
deleted file mode 100644
index ece8f93b57a1f..0000000000000
--- a/pkgs/development/tools/clang-tools/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ lib, stdenv, llvmPackages, enableLibcxx ? false }:
-# enableLibcxx will use the c++ headers from clang instead of gcc.
-# This shouldn't have any effect on platforms that use clang as the default compiler already.
-
-let
-  unwrapped = llvmPackages.clang-unwrapped;
-
-in stdenv.mkDerivation {
-  inherit unwrapped;
-
-  pname = "clang-tools";
-  version = lib.getVersion unwrapped;
-  dontUnpack = true;
-  clang = if enableLibcxx then llvmPackages.libcxxClang else llvmPackages.clang;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin
-
-    for tool in $unwrapped/bin/clang-*; do
-      tool=$(basename "$tool")
-
-      # Compilers have their own derivation, no need to include them here:
-      if [[ $tool == "clang-cl" || $tool == "clang-cpp" ]]; then
-        continue
-      fi
-
-      # Clang's derivation produces a lot of binaries, but the tools we are
-      # interested in follow the `clang-something` naming convention - except
-      # for clang-$version (e.g. clang-13), which is the compiler again:
-      if [[ ! $tool =~ ^clang\-[a-zA-Z_\-]+$ ]]; then
-        continue
-      fi
-
-      ln -s $out/bin/clangd $out/bin/$tool
-    done
-
-    if [[ -z "$(ls -A $out/bin)" ]]; then
-      echo "Found no binaries - maybe their location or naming convention changed?"
-      exit 1
-    fi
-
-    substituteAll ${./wrapper} $out/bin/clangd
-    chmod +x $out/bin/clangd
-
-    runHook postInstall
-  '';
-
-  meta = unwrapped.meta // {
-    description = "Standalone command line tools for C++ development";
-    maintainers = with lib.maintainers; [ patryk27 ];
-  };
-}
diff --git a/pkgs/development/tools/clang-tools/wrapper b/pkgs/development/tools/clang-tools/wrapper
deleted file mode 100755
index 1008023fdc0d1..0000000000000
--- a/pkgs/development/tools/clang-tools/wrapper
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-buildcpath() {
-  local path after
-  while (( $# )); do
-    case $1 in
-        -isystem)
-            shift
-            path=$path${path:+':'}$1
-            ;;
-        -idirafter)
-            shift
-            after=$after${after:+':'}$1
-            ;;
-    esac
-    shift
-  done
-  echo $path${after:+':'}$after
-}
-
-export CPATH=${CPATH}${CPATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE} \
-                                               $(<@clang@/nix-support/libc-cflags)):@clang@/resource-root/include
-export CPLUS_INCLUDE_PATH=${CPLUS_INCLUDE_PATH}${CPLUS_INCLUDE_PATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE} \
-                                                                                      $(<@clang@/nix-support/libcxx-cxxflags) \
-                                                                                      $(<@clang@/nix-support/libc-cflags)):@clang@/resource-root/include
-
-exec -a "$0" @unwrapped@/bin/$(basename $0) "$@"
diff --git a/pkgs/development/tools/click/default.nix b/pkgs/development/tools/click/default.nix
index da05368a2ce4b..7c6bb5ba6c3f3 100644
--- a/pkgs/development/tools/click/default.nix
+++ b/pkgs/development/tools/click/default.nix
@@ -83,7 +83,7 @@ buildPythonApplication {
   ];
 
   meta = {
-    description = "A tool to build click packages. Mainly used for Ubuntu Touch.";
+    description = "Tool to build click packages. Mainly used for Ubuntu Touch";
     homepage = "https://gitlab.com/ubports/development/core/click";
     license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ ilyakooo0 OPNA2608 ];
diff --git a/pkgs/development/tools/clickable/default.nix b/pkgs/development/tools/clickable/default.nix
index 82a276f9aff0e..5400e4189379d 100644
--- a/pkgs/development/tools/clickable/default.nix
+++ b/pkgs/development/tools/clickable/default.nix
@@ -75,7 +75,7 @@ buildPythonPackage rec {
     ];
 
   meta = {
-    description = "A build system for Ubuntu Touch apps";
+    description = "Build system for Ubuntu Touch apps";
     mainProgram = "clickable";
     homepage = "https://clickable-ut.dev";
     changelog = "https://clickable-ut.dev/en/latest/changelog.html";
diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix
index f1900ed9a3302..bfdcdb3ee0873 100644
--- a/pkgs/development/tools/clj-kondo/default.nix
+++ b/pkgs/development/tools/clj-kondo/default.nix
@@ -3,12 +3,12 @@
 
 buildGraalvmNativeImage rec {
   pname = "clj-kondo";
-  version = "2024.03.13";
+  version = "2024.05.24";
 
   src = fetchurl {
     url =
       "https://github.com/clj-kondo/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-4V0YtGRbSzebxGYkoyCJEA4e1vtYWNbIHyXOlTfvGTU=";
+    sha256 = "sha256-vqdTfsIRPi2VlJLcbesRSqa/KFgqbk13vJBbEYd3heM=";
   };
 
   graalvmDrv = graalvmCEPackages.graalvm-ce;
@@ -23,7 +23,7 @@ buildGraalvmNativeImage rec {
   '';
 
   meta = with lib; {
-    description = "A linter for Clojure code that sparks joy";
+    description = "Linter for Clojure code that sparks joy";
     homepage = "https://github.com/clj-kondo/clj-kondo";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.epl10;
diff --git a/pkgs/development/tools/cloud-nuke/default.nix b/pkgs/development/tools/cloud-nuke/default.nix
index 122a9826d664a..2ca64c5c74e67 100644
--- a/pkgs/development/tools/cloud-nuke/default.nix
+++ b/pkgs/development/tools/cloud-nuke/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "cloud-nuke";
-  version = "0.35.0";
+  version = "0.36.0";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-mSkQW4fSpylbOS8x/o/578NV+SU4ao/yqB81Ifb7LFQ=";
+    hash = "sha256-OFfcr8BXkTEB6lxImwHVFxnvursGcg83dVWsjegKf4w=";
   };
 
-  vendorHash = "sha256-Fmfr9feTibAjiZaakJalGTS7X2RhGz6engMNhy48Zus=";
+  vendorHash = "sha256-ealTxDNG6uJc0Lb20e8W3zv0azgpwI2kBn92d0lWaoc=";
 
   nativeBuildInputs = [
     makeBinaryWrapper
@@ -35,7 +35,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/gruntwork-io/cloud-nuke";
-    description = "A tool for cleaning up your cloud accounts by nuking (deleting) all resources within it";
+    description = "Tool for cleaning up your cloud accounts by nuking (deleting) all resources within it";
     mainProgram = "cloud-nuke";
     changelog = "https://github.com/gruntwork-io/cloud-nuke/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/cloudsmith-cli/default.nix b/pkgs/development/tools/cloudsmith-cli/default.nix
index bfdb2416bde5a..0131a5029060f 100644
--- a/pkgs/development/tools/cloudsmith-cli/default.nix
+++ b/pkgs/development/tools/cloudsmith-cli/default.nix
@@ -1,19 +1,37 @@
 { lib
 , python3
-, fetchPypi
+, fetchFromGitHub
+, fetchpatch
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cloudsmith-cli";
-  version = "1.2.3";
-  format = "wheel";
+  version = "1.2.5";
+  format = "setuptools";
 
-  src = fetchPypi {
-    pname = "cloudsmith_cli";
-    inherit format version;
-    hash = "sha256-MIoRLWk6G8uchQlGOYOsg3XliZ1wMrYSOhAEQrus+fQ=";
+  src = fetchFromGitHub {
+    owner = "cloudsmith-io";
+    repo = "cloudsmith-cli";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-UzyfOmjJzYEJYA6c4kn5XCvRVIMuiIpiq0kH9UhBwmo=";
   };
 
+  patches = [
+    # Fix compatibility with urllib3 2.0
+    (fetchpatch {
+      url = "https://github.com/cloudsmith-io/cloudsmith-cli/commit/1a8d2d91c01320537b26778003735d6b694141c2.patch";
+      revert = true;
+      includes = [
+        "cloudsmith_cli/core/rest.py"
+      ];
+      hash = "sha256-Rf3MMJuLr8fzkRqSftIJ1eUbgNdfrng2V609jYvpogc=";
+    })
+  ];
+
+  nativeBuildInputs = with python3.pkgs; [
+    pip
+  ];
+
   propagatedBuildInputs = with python3.pkgs; [
     click
     click-configfile
@@ -30,13 +48,38 @@ python3.pkgs.buildPythonApplication rec {
     setuptools # needs pkg_resources
   ];
 
-  # Wheels have no tests
-  doCheck = false;
+  nativeCheckInputs = with python3.pkgs; [
+    pytestCheckHook
+    pytest-cov
+  ];
+
+  checkInputs = with python3.pkgs; [
+    httpretty
+  ];
 
   pythonImportsCheck = [
     "cloudsmith_cli"
   ];
 
+  postPatch = ''
+    # Permit urllib3 2.0
+    substituteInPlace setup.py \
+      --replace-fail 'urllib3<2.0' 'urllib3'
+  '';
+
+  preCheck = ''
+    # E   _pytest.pathlib.ImportPathMismatchError: ('cloudsmith_cli.cli.tests.conftest', '/build/source/build/lib/cloudsmith_cli/cli/tests/conftest.py', PosixPath('/build/source/cloudsmith_cli/cli/tests/conftest.py'))
+    # ___________ ERROR collecting cloudsmith_cli/core/tests/test_init.py ____________
+    # import file mismatch:
+    # imported module 'cloudsmith_cli.core.tests.test_init' has this __file__ attribute:
+    #   /build/source/build/lib/cloudsmith_cli/core/tests/test_init.py
+    # which is not the same as the test file we want to collect:
+    #   /build/source/cloudsmith_cli/core/tests/test_init.py
+    # HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules
+    # https://github.com/NixOS/nixpkgs/issues/255262
+    cd "$out"
+  '';
+
   meta = with lib; {
     homepage = "https://help.cloudsmith.io/docs/cli/";
     description = "Cloudsmith Command Line Interface";
diff --git a/pkgs/development/tools/cmake-format/default.nix b/pkgs/development/tools/cmake-format/default.nix
index 85efc5f19ccfd..281f36dfe0070 100644
--- a/pkgs/development/tools/cmake-format/default.nix
+++ b/pkgs/development/tools/cmake-format/default.nix
@@ -31,6 +31,7 @@ buildPythonApplication rec {
     homepage = "https://github.com/cheshirekow/cmake_format";
     license = licenses.gpl3;
     maintainers = [ maintainers.tobim ];
+    mainProgram = "cmake-format";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/cocogitto/default.nix b/pkgs/development/tools/cocogitto/default.nix
index e193ce4e09414..aae8fb39722c3 100644
--- a/pkgs/development/tools/cocogitto/default.nix
+++ b/pkgs/development/tools/cocogitto/default.nix
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A set of cli tools for the conventional commit and semver specifications";
+    description = "Set of cli tools for the conventional commit and semver specifications";
     mainProgram = "cog";
     homepage = "https://github.com/oknozor/cocogitto";
     license = licenses.mit;
diff --git a/pkgs/development/tools/code-maat/default.nix b/pkgs/development/tools/code-maat/default.nix
index c5aa3c0b5d842..2046322390c11 100644
--- a/pkgs/development/tools/code-maat/default.nix
+++ b/pkgs/development/tools/code-maat/default.nix
@@ -36,7 +36,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     '';
 
   meta = with lib; {
-    description = "A command line tool to mine and analyze data from version-control systems";
+    description = "Command line tool to mine and analyze data from version-control systems";
     mainProgram = "code-maat";
     homepage = "https://github.com/adamtornhill/code-maat";
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/codeowners/default.nix b/pkgs/development/tools/codeowners/default.nix
index 3a92def28895d..703d46efa7fe3 100644
--- a/pkgs/development/tools/codeowners/default.nix
+++ b/pkgs/development/tools/codeowners/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
   vendorHash = "sha256-G+oaX3SXsHJu3lq6n8dLmoRXDAYcFkrYarwePB/MdEU=";
 
   meta = with lib; {
-    description = "A CLI and Go library for Github's CODEOWNERS file";
+    description = "CLI and Go library for Github's CODEOWNERS file";
     mainProgram = "codeowners";
     homepage = "https://github.com/hmarr/codeowners";
     license = licenses.mit;
diff --git a/pkgs/development/tools/coder/default.nix b/pkgs/development/tools/coder/default.nix
index 832e73869bd07..2da9a90e4280b 100644
--- a/pkgs/development/tools/coder/default.nix
+++ b/pkgs/development/tools/coder/default.nix
@@ -13,21 +13,21 @@ let
 
   channels = {
     stable = {
-      version = "2.9.4";
+      version = "2.11.3";
       hash = {
-        x86_64-linux = "sha256-Sw8wAx69oQFrr24Ukah+GfQvoyn2qX5LljZ398H6QFk=";
-        x86_64-darwin = "sha256-uSO2gVvyHTf4dWws0QVtfFUdluwJGkwpuYUDIlXwf+I=";
-        aarch64-linux = "sha256-qI43x2hL9X4GsG511PrEZN5MtRV8th1NRbtkbZ2gZ3A=";
-        aarch64-darwin = "sha256-KbUH2OeDqEXoRMx6kmMbe0tEcE3FLuSMkRoFFnfXLfE=";
+        x86_64-linux = "sha256-TaEl7J/Zo/K+j8EGpIauQYR5UucALviuSk0/jgiK83U=";
+        x86_64-darwin = "sha256-qM2YTvHGeAi1F4V79YoDdsp1NbHFah8L0bppUhmzZyY=";
+        aarch64-linux = "sha256-gLaxi3h2JrnVecS/k3YHuWM1R1oLXKg5R1aeh3GVREY=";
+        aarch64-darwin = "sha256-SochFDBspdKfw1xd2FiyI9bp2Y3SbdgbGtzwUDyMsLE=";
       };
     };
     mainline = {
-      version = "2.10.2";
+      version = "2.12.2";
       hash = {
-        x86_64-linux = "sha256-U3qHEjIKq8JkpDp6TehMs6t5L3GpSGt4D10XSAQ9Ii0=";
-        x86_64-darwin = "sha256-ibfqqxRRD3IfIN2FqSxk5qd7d87RvBgKKFv9F0hACgo=";
-        aarch64-linux = "sha256-HdBVnLKen6W1crZfnc2hpA0cAYIYeYFHKvANwnLqkjY=";
-        aarch64-darwin = "sha256-3sHmR6PTRlBSIdD4rja4y8v0gOY4cbbyhW7qssgpqp8=";
+        x86_64-linux = "sha256-UJnJ64zwuDKzc/yKLQnj//3tXZ/GJpzUUw8KoH3Uf14=";
+        x86_64-darwin = "sha256-d+BWUEMvta7ZkCOqMTafuR5suIDWPauwTzGOpPDF+ck=";
+        aarch64-linux = "sha256-ayZZhqL3YLjaUDmHOiY4yXg/+tGR7HpLcwojuagqkKg=";
+        aarch64-darwin = "sha256-EYB7YLScshBInLBOXVfYs+f+OWC7OF9tEmhhG25pPSo=";
       };
     };
   };
diff --git a/pkgs/development/tools/codespell/default.nix b/pkgs/development/tools/codespell/default.nix
index e76a980f7427c..84eb2cdfa205c 100644
--- a/pkgs/development/tools/codespell/default.nix
+++ b/pkgs/development/tools/codespell/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "codespell";
-  version = "2.2.6";
+  version = "2.3.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "codespell-project";
     repo = "codespell";
     rev = "v${version}";
-    sha256 = "sha256-esewCJw4o4SfSst5ALZ90X3XgOuOAsaxytpotvFeHB0=";
+    sha256 = "sha256-X3Pueu0E7Q57sbKSXqCZki4/PUb1WyWk/Zmj+lhVTM8=";
   };
 
   postPatch = ''
@@ -39,9 +39,7 @@ python3.pkgs.buildPythonApplication rec {
 
   disabledTests = [
     # tries to run not fully installed script
-    "test_command"
-    # error 'dateset' should not be in aspell dictionaries (en, en_GB, en_US, en_CA, en_AU) for dictionary /build/source/codespell_lib/tests/../data/dictionary.txt
-    "test_dictionary_formatting"
+    "test_basic"
   ];
 
   pythonImportsCheck = [ "codespell_lib" ];
diff --git a/pkgs/development/tools/comby/default.nix b/pkgs/development/tools/comby/default.nix
index f6f7357c1557b..ad7ab8559688f 100644
--- a/pkgs/development/tools/comby/default.nix
+++ b/pkgs/development/tools/comby/default.nix
@@ -16,7 +16,7 @@ let
       inherit pname preBuild;
       version = "1.8.1";
       duneVersion = "3";
-      minimalOcamlVersion = "4.08.1";
+      minimalOCamlVersion = "4.08.1";
       doCheck = true;
 
       src = fetchFromGitHub {
diff --git a/pkgs/development/tools/confluent-cli/default.nix b/pkgs/development/tools/confluent-cli/default.nix
index 102ec3d996fd5..e614fe7d947d3 100644
--- a/pkgs/development/tools/confluent-cli/default.nix
+++ b/pkgs/development/tools/confluent-cli/default.nix
@@ -2,26 +2,26 @@
 
 stdenv.mkDerivation rec {
   pname = "confluent-cli";
-  version = "3.37.0";
+  version = "3.60.0";
 
   # To get the latest version:
   # curl -L https://cnfl.io/cli | sh -s -- -l | grep -v latest | sort -V | tail -n1
   src = {
     x86_64-linux = fetchurl {
       url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_linux_amd64.tar.gz";
-      hash = "sha256-vJB/0odVA86fZtRh/Cg5KPD8q8CQFENlRzjpI41UOc8=";
+      hash = "sha256-GYA7T2yRcSNStvd9ZqI2iTJC3d6ymH9Dg5FVkIsM1f0=";
     };
     aarch64-linux = fetchurl {
       url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_linux_arm64.tar.gz";
-      hash = "sha256-lj7i7oQzX1AfhYfrXDiOjz1/EV4y3/CI4MyPKzNGcss=";
+      hash = "sha256-BJJaZtRInKT6S0W22f96RCM8H18dIpOTP5lu357zh18=";
     };
     x86_64-darwin = fetchurl {
       url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_darwin_amd64.tar.gz";
-      hash = "sha256-gEQBxChsM5CXFRsWBVVcQ88xQ2N4lqkIxHfZKPEMlOY";
+      hash = "sha256-94ur/FXxQWL4EOkEI1FSoWduRaMaY7DCNMiucpNC0B0=";
     };
     aarch64-darwin = fetchurl {
       url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_darwin_arm64.tar.gz";
-      hash = "sha256-6i5Z3m0gMzPuqWm/SJOuxjO3ioh/Uhk3A9uykksYfPo=";
+      hash = "sha256-aEIKSrO0/6dJCAyzwBH2ZDAmwvURugx6jTzaepbRvH8=";
     };
   }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
diff --git a/pkgs/development/tools/conftest/default.nix b/pkgs/development/tools/conftest/default.nix
index d44aedf372bfe..76974e0fd25a5 100644
--- a/pkgs/development/tools/conftest/default.nix
+++ b/pkgs/development/tools/conftest/default.nix
@@ -6,15 +6,15 @@
 
 buildGoModule rec {
   pname = "conftest";
-  version = "0.52.0";
+  version = "0.53.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "conftest";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TjBBKFWyqrqeiddAn5SDiLZ4HirWC4vYwIEA43IFSxY=";
+    hash = "sha256-Fg9U6xCOivolwpH4C63HAhSEcfkTJYrNRzwr0OLtLqs=";
   };
-  vendorHash = "sha256-wQBeKPT/MSTd89UmtwKH7uX3sv7x1N5MXMKo/DZRmBk=";
+  vendorHash = "sha256-tFJf0wYai1Nc8zbTXE/FSM0K7IkGQjsrMCwpi3rcwzg=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/container2wasm/default.nix b/pkgs/development/tools/container2wasm/default.nix
index 132e80c3b5dd4..b3db980a548fe 100644
--- a/pkgs/development/tools/container2wasm/default.nix
+++ b/pkgs/development/tools/container2wasm/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "container2wasm";
-  version = "0.6.3";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "ktock";
     repo = "container2wasm";
     rev = "refs/tags/v${version}";
-    hash = "sha256-WMtkMBiAlHLwOgbnyrbERXaf4eGEVwpVvffaES6bSbo=";
+    hash = "sha256-/E65h2kyzjtAnh72+zyxXf8OvxlUvXT/M25CPteUamE=";
   };
 
-  vendorHash = "sha256-3gI2ZT+8GXttbX1985fSWmMbQzrERFKnlSwFvSQIGBg=";
+  vendorHash = "sha256-/V2n9SpBtJVQwERJhSugvAvIoOGuZNnhaaf8k9hh04k=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/continuous-integration/agola/default.nix b/pkgs/development/tools/continuous-integration/agola/default.nix
index 02cd0f25acd52..f13f6ec2164c7 100644
--- a/pkgs/development/tools/continuous-integration/agola/default.nix
+++ b/pkgs/development/tools/continuous-integration/agola/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "0.8.0";
+  version = "0.9.2";
 in
 
 buildGoModule {
@@ -15,10 +15,10 @@ buildGoModule {
     owner = "agola-io";
     repo = "agola";
     rev = "v${version}";
-    hash = "sha256-nU04MVkUC+m6Ga4qDUH9KrA0zbYmttAicpvdxbaBG0Y=";
+    hash = "sha256-ggi0Eb4vO5zBoIrIIa3MFwOIW0IBS8yGF6eveBb+lgY=";
   };
 
-  vendorHash = "sha256-k3Sip9CqTGRTWxr3RzZf0jCrm4AfUrpY/wSTmHy+yik=";
+  vendorHash = "sha256-Igtccundx/2PHFp8+L44CvOLG+/Ndinhonh/EDcQeoY=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/continuous-integration/buildbot/master.nix b/pkgs/development/tools/continuous-integration/buildbot/master.nix
index 8de60461f7303..ad9308ddda4c3 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/master.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/master.nix
@@ -1,14 +1,14 @@
 { lib
 , stdenv
 , buildPythonApplication
-, fetchPypi
+, fetchFromGitHub
+, fetchpatch
 , makeWrapper
 # Tie withPlugins through the fixed point here, so it will receive an
 # overridden version properly
 , buildbot
 , pythonOlder
 , python
-, pythonRelaxDepsHook
 , twisted
 , jinja2
 , msgpack
@@ -72,18 +72,19 @@ let
 in
 buildPythonApplication rec {
   pname = "buildbot";
-  version = "3.11.1";
+  version = "3.11.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-ruYW1sVoGvFMi+NS+xiNsn0Iq2RmKlax4bxHgYrj6ZY=";
+  src = fetchFromGitHub {
+    owner = "buildbot";
+    repo = "buildbot";
+    rev = "v${version}";
+    hash = "sha256-rDbAWLoEEjygW72YDBsVwiaHdRTVYA9IFxY3XMDleho=";
   };
 
   build-system = [
-    pythonRelaxDepsHook
   ];
 
   pythonRelaxDeps = [
@@ -134,10 +135,20 @@ buildPythonApplication rec {
     # This patch disables the test that tries to read /etc/os-release which
     # is not accessible in sandboxed builds.
     ./skip_test_linux_distro.patch
+    # Fix gitpoller, source: https://github.com/buildbot/buildbot/pull/7664
+    # Included in next release.
+    (fetchpatch {
+      url = "https://github.com/buildbot/buildbot/commit/dd5d61e63e3b0740cc538a225ccf104ccecfc734.patch";
+      sha256 = "sha256-CL6uRaKxh8uCBfWQ0tNiLh2Ym0HVatWni8hcuTyAAw0=";
+      excludes = ["master/buildbot/test/unit/changes/test_gitpoller.py"];
+    })
   ];
 
   postPatch = ''
-    substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
+    substituteInPlace master/buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
+  '';
+  preBuild = ''
+    cd master
   '';
 
   # Silence the depreciation warning from SqlAlchemy
@@ -163,7 +174,7 @@ buildPythonApplication rec {
   };
 
   meta = with lib; {
-    description = "An open-source continuous integration framework for automating software build, test, and release processes";
+    description = "Open-source continuous integration framework for automating software build, test, and release processes";
     homepage = "https://buildbot.net/";
     changelog = "https://github.com/buildbot/buildbot/releases/tag/v${version}";
     maintainers = teams.buildbot.members;
diff --git a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
index 4ccdb66d7b110..a93cbf28e3b84 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi, isPy3k, buildbot }:
 
 buildPythonPackage rec {
-  pname = "buildbot-pkg";
+  pname = "buildbot_pkg";
   inherit (buildbot) version;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cfPsNnR0gEgz1y/GNR6faixk2HyuHaRh1E9nGHjCb58=";
+    hash = "sha256-pO2TmTwbY0cnR+882pl7wDiR6JEK+sHHpAltKmTxiIM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
index b84e42c1bee70..7403498a8c614 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
@@ -3,12 +3,12 @@
   # this is exposed for potential plugins to use and for nix-update
   inherit buildbot-pkg;
   www = buildPythonPackage rec {
-    pname = "buildbot-www";
+    pname = "buildbot_www";
     inherit (buildbot-pkg) version;
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-5q4N76XHUhvc2lIqup0dYwrEdI5bR/96N7m2rhvPJh4=";
+      hash = "sha256-EL5iZ257VXnL+29Jr6r3PVeURX1AcugfZ4RLTjClsXo=";
     };
 
     # Remove unnecessary circular dependency on buildbot
@@ -30,12 +30,12 @@
   };
 
   www-react = buildPythonPackage rec {
-    pname = "buildbot-www-react";
+    pname = "buildbot_www_react";
     inherit (buildbot-pkg) version;
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-kjow5WksdBzeo8nwXk5Djm/4tym8XvMo+VgiqSSAyKk=";
+      hash = "sha256-5QLw5nXnU+z11E5Tgvu9bbbpCTRpV2zXndukcZPRjtE=";
     };
 
     # Remove unnecessary circular dependency on buildbot
@@ -57,12 +57,12 @@
   };
 
   console-view = buildPythonPackage rec {
-    pname = "buildbot-console-view";
+    pname = "buildbot_console_view";
     inherit (buildbot-pkg) version;
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-IrXDwO0YSpiZfw6B/lorEQdbAIZ5qCja75L/PFRmJms=";
+      hash = "sha256-tzqifo9A/KJF9dLpO7jblVaDjx7++v0wLz1Olc79JxI=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -79,12 +79,12 @@
   };
 
   react-console-view = buildPythonPackage rec {
-    pname = "buildbot-react-console-view";
+    pname = "buildbot_react_console_view";
     inherit (buildbot-pkg) version;
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-ZkUsAN56OEI/SphQydv4HkVV6Eobd0pd+UbXa23mBfQ=";
+      hash = "sha256-fzaqYmaO+vWnQpUvOsPCny3W27atcIHsgeGV6dKEJeg=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -101,12 +101,12 @@
   };
 
   waterfall-view = buildPythonPackage rec {
-    pname = "buildbot-waterfall-view";
+    pname = "buildbot_waterfall_view";
     inherit (buildbot-pkg) version;
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-qL1+bpgxflcRTFPOvDHKdHilio28bbHClqy1Um4Se+o=";
+      hash = "sha256-BLIs91k8/A4LYMTDgct7TOWFoLU4qK47Javr8qRzkZQ=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -123,12 +123,12 @@
   };
 
   react-waterfall-view = buildPythonPackage rec {
-    pname = "buildbot-react-waterfall-view";
+    pname = "buildbot_react_waterfall_view";
     inherit (buildbot-pkg) version;
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-5D0N/5Sf8YNQBKt8GzAk1htdEY/xOmE5Abt5y7P9h34=";
+      hash = "sha256-dX+tp+WidfLy612+41jz+do/iXQTaIQPcetG8td3jp4=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -145,12 +145,12 @@
   };
 
   grid-view = buildPythonPackage rec {
-    pname = "buildbot-grid-view";
+    pname = "buildbot_grid_view";
     inherit (buildbot-pkg) version;
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-snyJbQZqSIqOk6dTJidSv1VmE/Gn+pblcZs8BpZ+fdA=";
+      hash = "sha256-2kLGdvmf2mnF21gkDCf6h+bhnsxveaNNh95qczRY824=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -167,12 +167,12 @@
   };
 
   react-grid-view = buildPythonPackage rec {
-    pname = "buildbot-react-grid-view";
+    pname = "buildbot_react_grid_view";
     inherit (buildbot-pkg) version;
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-0Ggm3NQn1ZZfMsMqf1qdCD1+HkJZmM1p+TqOPF0Q9CE=";
+      hash = "sha256-rIAbk9+6Wi1PCjizHp9p6jpCwaBgBT5Ch1Sa4VKDoww=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -189,12 +189,12 @@
   };
 
   wsgi-dashboards = buildPythonPackage rec {
-    pname = "buildbot-wsgi-dashboards";
+    pname = "buildbot_wsgi_dashboards";
     inherit (buildbot-pkg) version;
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-rBUrYSeAWrxn5mlXaAAtE58jIZVLs/q69ARY2u6rTsI=";
+      hash = "sha256-D9mjEKFrh+ytNbpuN/06XbiBnKjFLopXfjDg28j7niw=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -211,12 +211,12 @@
   };
 
   react-wsgi-dashboards = buildPythonPackage rec {
-    pname = "buildbot-react-wsgi-dashboards";
+    pname = "buildbot_react_wsgi_dashboards";
     inherit (buildbot-pkg) version;
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-U0DHWFMmvTKFBW1C5bnoemjMOKpw1H3GXnBn/AU52vY=";
+      hash = "sha256-q3In0IMAIBUjxSzv4LlH9EJukLYJ3WzoEYkFBZB96W8=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -233,12 +233,12 @@
   };
 
   badges = buildPythonPackage rec {
-    pname = "buildbot-badges";
+    pname = "buildbot_badges";
     inherit (buildbot-pkg) version;
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-7t4E7twn4TeJJCE5Vn83UzIRE2Okvcox2us1d8j50Os=";
+      hash = "sha256-TK4KYn3CWxymTsKWeqHr2i5rdO9ZDHvJrb9RqfKNJV4=";
     };
 
     buildInputs = [ buildbot-pkg ];
diff --git a/pkgs/development/tools/continuous-integration/buildbot/skip_test_linux_distro.patch b/pkgs/development/tools/continuous-integration/buildbot/skip_test_linux_distro.patch
index 8fe5c7b56b4f2..e7190680ad2e1 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/skip_test_linux_distro.patch
+++ b/pkgs/development/tools/continuous-integration/buildbot/skip_test_linux_distro.patch
@@ -1,6 +1,6 @@
-diff -Nur buildbot-0.9.6/buildbot/test/unit/test_buildbot_net_usage_data.py buildbot-0.9.6.patched/buildbot/test/unit/test_buildbot_net_usage_data.py
---- buildbot-0.9.6/buildbot/test/unit/test_buildbot_net_usage_data.py	2017-04-19 16:57:02.000000000 +0200
-+++ buildbot-0.9.6.patched/buildbot/test/unit/test_buildbot_net_usage_data.py	2017-05-04 12:22:54.575762551 +0200
+diff -Nur buildbot-0.9.6/master/buildbot/test/unit/test_buildbot_net_usage_data.py buildbot-0.9.6.patched/buildbot/test/unit/test_buildbot_net_usage_data.py
+--- buildbot-0.9.6/master/buildbot/test/unit/test_buildbot_net_usage_data.py	2017-04-19 16:57:02.000000000 +0200
++++ buildbot-0.9.6.patched/master/buildbot/test/unit/test_buildbot_net_usage_data.py	2017-05-04 12:22:54.575762551 +0200
 @@ -147,6 +147,7 @@
          _sendBuildbotNetUsageData({'foo': 'bar'})
  
diff --git a/pkgs/development/tools/continuous-integration/buildbot/worker.nix b/pkgs/development/tools/continuous-integration/buildbot/worker.nix
index 1b73737e42cbc..071559eccf6c2 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/worker.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/worker.nix
@@ -23,12 +23,12 @@
 }:
 
 buildPythonPackage (rec {
-  pname = "buildbot-worker";
+  pname = "buildbot_worker";
   inherit (buildbot) version;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hRsmgP8IiWg5+YCqMVYgZc4ljWwz7YWfAFrmMHx8wBY=";
+    hash = "sha256-TFymBnUufOEWZ/IUKd7nebZ+yl58ZChFkGrUxOXn28g=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix b/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix
index 5e191cb83b327..dd81126d68fd1 100644
--- a/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix
+++ b/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix
@@ -24,7 +24,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ];
 
   meta = with lib; {
-    description = "A command line interface for Buildkite";
+    description = "Command line interface for Buildkite";
     homepage = "https://github.com/buildkite/cli";
     license = licenses.mit;
     maintainers = with maintainers; [ groodt ];
diff --git a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
index a86db85067f6a..e50259bed2366 100644
--- a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
+++ b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "cirrus-cli";
-  version = "0.117.0";
+  version = "0.119.1";
 
   src = fetchFromGitHub {
     owner = "cirruslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dJq2/XxhSvqlRQwMHX2RHct6KQu9uik3SPeWD2/rwto=";
+    sha256 = "sha256-nEGeh0ZTYE4Ff0x+1G38KUFcUsr39kvM8QUfmHCFyK4=";
   };
 
-  vendorHash = "sha256-d3cHXO4SFeNybiVDc3dUmd1XzUJ1SlMqSw7KPC3ZrXQ=";
+  vendorHash = "sha256-rL4bXt6VBG2b9nZ1M2FF6E8ODPT3UF4aRHSJqpVWyTw=";
 
   ldflags = [
     "-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
diff --git a/pkgs/development/tools/continuous-integration/drone/default.nix b/pkgs/development/tools/continuous-integration/drone/default.nix
index e6f6b8bf4c45c..e481df1d538bb 100644
--- a/pkgs/development/tools/continuous-integration/drone/default.nix
+++ b/pkgs/development/tools/continuous-integration/drone/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "drone.io${lib.optionalString (!enableUnfree) "-oss"}";
-  version = "2.23.0";
+  version = "2.24.0";
 
   src = fetchFromGitHub {
     owner = "harness";
     repo = "drone";
     rev = "v${version}";
-    sha256 = "sha256-HkyR2h7dgbEhqexJXyGebP3zkoTLlzuY+1O2pidAveQ=";
+    sha256 = "sha256-IiSsw0bZDAVuOrm7JBTT14Cf7I/koeS2Yw6vWYBG7kA=";
   };
 
   vendorHash = "sha256-n4KbKkqAnHDIsXs8A/FE+rCkSKQKr5fv7npJ/X6t0mk=";
@@ -25,7 +25,7 @@ buildGoModule rec {
     description = "Continuous Integration platform built on container technology";
     mainProgram = "drone-server";
     homepage = "https://github.com/harness/drone";
-    maintainers = with maintainers; [ elohmeier vdemeester techknowlogick ];
+    maintainers = with maintainers; [ vdemeester techknowlogick ];
     license = with licenses; if enableUnfree then unfreeRedistributable else asl20;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/gitea-actions-runner/default.nix b/pkgs/development/tools/continuous-integration/gitea-actions-runner/default.nix
index 68093f39e4f86..10e07234aafac 100644
--- a/pkgs/development/tools/continuous-integration/gitea-actions-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitea-actions-runner/default.nix
@@ -7,17 +7,17 @@
 
 buildGoModule rec {
   pname = "gitea-actions-runner";
-  version = "0.2.6";
+  version = "0.2.10";
 
   src = fetchFromGitea {
     domain = "gitea.com";
     owner = "gitea";
     repo = "act_runner";
     rev = "v${version}";
-    hash = "sha256-GE9yqp5zWJ4lL0L/w3oSvU72AiHBNb+yh2qBPKPe9X0=";
+    hash = "sha256-YRWFBMHw9Fcmzkmglh2I1kXJkAAivqvCBcenLTjE/bI=";
   };
 
-  vendorHash = "sha256-NoaLq5pCwTuPd9ne5LYcvJsgUXAqcfkcW3Ck2K350JE=";
+  vendorHash = "sha256-8sdSQhg9DnRLgghDZzWrUMM4vjinhCgu3dTKU7MBVQU=";
 
   ldflags = [
     "-s"
@@ -36,6 +36,6 @@ buildGoModule rec {
     license = licenses.mit;
     changelog = "https://gitea.com/gitea/act_runner/releases/tag/v${version}";
     homepage = "https://gitea.com/gitea/act_runner";
-    description = "A runner for Gitea based on act";
+    description = "Runner for Gitea based on act";
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix
index f219438d134dc..227f03bf8770c 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -22,13 +22,13 @@ assert builtins.all (x: builtins.elem x [ "node20" ]) nodeRuntimes;
 
 buildDotnetModule rec {
   pname = "github-runner";
-  version = "2.316.0";
+  version = "2.317.0";
 
   src = fetchFromGitHub {
     owner = "actions";
     repo = "runner";
     rev = "v${version}";
-    hash = "sha256-LoXVe4ZuVIFoqz+N8WK950Wm8zssCoKVj6HSkPvDFYU=";
+    hash = "sha256-+VwEH4hmEjeYFWm7TOndD5SOJwsyPZEhKkCSyl7x8cE=";
     leaveDotGit = true;
     postFetch = ''
       git -C $out rev-parse --short HEAD > $out/.git-revision
diff --git a/pkgs/development/tools/continuous-integration/github-runner/deps.nix b/pkgs/development/tools/continuous-integration/github-runner/deps.nix
index d2db246003506..4c05dc60a162e 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/deps.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/deps.nix
@@ -258,13 +258,13 @@
   (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
   (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; })
   (fetchNuGet { pname = "System.Xml.XmlSerializer"; version = "4.3.0"; sha256 = "07pa4sx196vxkgl3csvdmw94nydlsm9ir38xxcs84qjn8cycd912"; })
-  (fetchNuGet { pname = "xunit"; version = "2.4.1"; sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20"; })
+  (fetchNuGet { pname = "xunit"; version = "2.7.1"; sha256 = "18bvbmqzkyia862x0jaj3ax5zlnlgsdpl52ai53g0fn8hcnnzzvi"; })
   (fetchNuGet { pname = "xunit.abstractions"; version = "2.0.3"; sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh"; })
-  (fetchNuGet { pname = "xunit.analyzers"; version = "0.10.0"; sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j"; })
-  (fetchNuGet { pname = "xunit.assert"; version = "2.4.1"; sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6"; })
-  (fetchNuGet { pname = "xunit.core"; version = "2.4.1"; sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a"; })
-  (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.4.1"; sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050"; })
-  (fetchNuGet { pname = "xunit.extensibility.execution"; version = "2.4.1"; sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia"; })
+  (fetchNuGet { pname = "xunit.analyzers"; version = "1.12.0"; sha256 = "1shs5afb00r3ipnq7wnyvxyp4hnfcmbbf89qcpn4awhd355cv9k6"; })
+  (fetchNuGet { pname = "xunit.assert"; version = "2.7.1"; sha256 = "1nz05bh78d6ilz2g2vqp3jgxag5p3h1cnidwr9qxzgr89nj2fas6"; })
+  (fetchNuGet { pname = "xunit.core"; version = "2.7.1"; sha256 = "1lr7dm4f9i6xcjq1d8sj3a11y1kj50z43wmr84m8aj6lkwqkbv6z"; })
+  (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.7.1"; sha256 = "00pjk2i95kzjqm6j86i589vf265cmczk748xl4qcqalwrzhhc1g8"; })
+  (fetchNuGet { pname = "xunit.extensibility.execution"; version = "2.7.1"; sha256 = "1s90pc6fm3i5r3wjip9jkk2m5giyimik9f05b77yylknl9yipcfw"; })
   (fetchNuGet { pname = "xunit.runner.visualstudio"; version = "2.4.1"; sha256 = "0fln5pk18z98gp0zfshy1p9h6r9wc55nyqhap34k89yran646vhn"; })
   (fetchNuGet { pname = "YamlDotNet.Signed"; version = "5.3.0"; sha256 = "1gnp5aa2zzg7v61bbn2ra1npy0p07szp5w8vqk44fdj3fcvrdxib"; })
 ]
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 999a2ce7719b3..6f6a8fd68259c 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,7 +1,7 @@
-{ lib, buildGoModule, fetchFromGitLab, fetchurl, bash }:
+{ lib, buildGoModule, fetchFromGitLab, bash }:
 
 let
-  version = "16.11.0";
+  version = "17.1.0";
 in
 buildGoModule rec {
   inherit version;
@@ -17,13 +17,13 @@ buildGoModule rec {
   # For patchShebangs
   buildInputs = [ bash ];
 
-  vendorHash = "sha256-98ixme01PHbuyCJatWErbzTeuKYSbXsLbZxNGSd+zjY=";
+  vendorHash = "sha256-Rk5/h8wqVwGzovtAjjNkvexG71Dj36mFxU8OsLJzpUo=";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "sha256-cPY+JAvyRb4+ytx5nwx1BaH/tZ5BW4kgWIEvD6a3aec=";
+    sha256 = "sha256-mRL62PIAkPK0aLA7uYpGlUvaJfbD354RDOD4P8MLzx8=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/continuous-integration/gocd-agent/default.nix b/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
index 6a6c5674bb67e..314dd38c07952 100644
--- a/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-L2MOkbVHoQu99lKrbnsNkhuU0SZ8VANSK72GZrGLbiQ=";
   };
   meta = with lib; {
-    description = "A continuous delivery server specializing in advanced workflow modeling and visualization";
+    description = "Continuous delivery server specializing in advanced workflow modeling and visualization";
     homepage = "http://www.go.cd";
     license = licenses.asl20;
     platforms = platforms.all;
diff --git a/pkgs/development/tools/continuous-integration/gocd-server/default.nix b/pkgs/development/tools/continuous-integration/gocd-server/default.nix
index 6fc577225f42e..ce01ff95cc5a3 100644
--- a/pkgs/development/tools/continuous-integration/gocd-server/default.nix
+++ b/pkgs/development/tools/continuous-integration/gocd-server/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "A continuous delivery server specializing in advanced workflow modeling and visualization";
+    description = "Continuous delivery server specializing in advanced workflow modeling and visualization";
     homepage = "http://www.go.cd";
     license = licenses.asl20;
     platforms = platforms.all;
diff --git a/pkgs/development/tools/continuous-integration/hci/default.nix b/pkgs/development/tools/continuous-integration/hci/default.nix
index 0fac1dfc04c66..4f04e0494f0ff 100644
--- a/pkgs/development/tools/continuous-integration/hci/default.nix
+++ b/pkgs/development/tools/continuous-integration/hci/default.nix
@@ -31,7 +31,10 @@ let
           makeWrapper $out/libexec/hci $out/bin/hci --prefix PATH : ${lib.escapeShellArg (makeBinPath bundledBins)}
         '';
       })
-      (addBuildTools [ makeWrapper ] (justStaticExecutables (haskellPackages.hercules-ci-cli.override overrides)));
+      (addBuildTools [ makeWrapper ]
+        # TODO: Erroneous references to GHC on aarch64-darwin: https://github.com/NixOS/nixpkgs/issues/318013
+        ((if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then lib.id else haskell.lib.compose.justStaticExecutables)
+          (haskellPackages.hercules-ci-cli.override overrides)));
 in pkg // {
     meta = pkg.meta // {
       position = toString ./default.nix + ":1";
diff --git a/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix b/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix
index 8d4805341d55b..0da85bae969a5 100644
--- a/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix
@@ -23,6 +23,10 @@ let
       (o: {
         postInstall = ''
           ${o.postInstall or ""}
+          ${lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) ''
+            remove-references-to -t ${haskellPackages.hercules-ci-cnix-expr} $out/bin/hercules-ci-agent
+            remove-references-to -t ${haskellPackages.hercules-ci-cnix-expr} $out/bin/hercules-ci-agent-worker
+          ''}
           mkdir -p $out/libexec
           mv $out/bin/hercules-ci-agent $out/libexec
           makeWrapper $out/libexec/hercules-ci-agent $out/bin/hercules-ci-agent --prefix PATH : ${lib.escapeShellArg (makeBinPath bundledBins)}
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 10f2d9faba12b..875d065d02935 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.440.3";
+  version = "2.452.2";
 
   src = fetchurl {
     url = "https://get.jenkins.io/war-stable/${version}/jenkins.war";
-    hash = "sha256-+NR9v9WTWVUa6tg4j6StcAXtp8R84hxmTJlhDKBK42c=";
+    hash = "sha256-Ng78hDjbmkuiB3KYHUJXz+aDe/DD+4yOmyJT2M5rozk=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "An extendable open source continuous integration server";
+    description = "Extendable open source continuous integration server";
     homepage = "https://jenkins.io/";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.mit;
diff --git a/pkgs/development/tools/continuous-integration/woodpecker-pipeline-transform/default.nix b/pkgs/development/tools/continuous-integration/woodpecker-pipeline-transform/default.nix
deleted file mode 100644
index af05fafea40b4..0000000000000
--- a/pkgs/development/tools/continuous-integration/woodpecker-pipeline-transform/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, buildGoModule, fetchFromGitea }:
-buildGoModule rec {
-  pname = "woodpecker-pipeline-transform";
-  version = "0.1.1";
-
-  src = fetchFromGitea {
-    domain = "codeberg.org";
-    owner = "lafriks";
-    repo = "woodpecker-pipeline-transform";
-    rev = "v${version}";
-    sha256 = "sha256-tWDMbOkajZ3BB32Vl630EZrY+Owm72MD2Z2JjMucVkI=";
-  };
-
-  vendorHash = "sha256-qKzGALMagf6QHeLdABfNGG4f/3K/F6CjVYjOJtyTNoM=";
-
-  meta = with lib; {
-    description = "Utility to convert different pipelines to Woodpecker CI pipelines";
-    homepage = "https://codeberg.org/lafriks/woodpecker-pipeline-transform";
-    license = licenses.mit;
-    mainProgram = "pipeline-convert";
-    maintainers = with maintainers; [ ambroisie ];
-  };
-}
diff --git a/pkgs/development/tools/continuous-integration/woodpecker-plugin-git/default.nix b/pkgs/development/tools/continuous-integration/woodpecker-plugin-git/default.nix
index c058002376373..37596774bbdec 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker-plugin-git/default.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker-plugin-git/default.nix
@@ -32,7 +32,7 @@ buildGoModule rec {
   passthru.tests.version = testers.testVersion { package = woodpecker-plugin-git; };
 
   meta = with lib; {
-    description = "Woodpecker plugin for cloning Git repositories.";
+    description = "Woodpecker plugin for cloning Git repositories";
     homepage = "https://woodpecker-ci.org/";
     changelog = "https://github.com/woodpecker-ci/plugin-git/releases/tag/${version}";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/common.nix b/pkgs/development/tools/continuous-integration/woodpecker/common.nix
index 214e1c35b2762..53aac9d5d4df9 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/common.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker/common.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 let
-  version = "2.4.1";
-  srcHash = "sha256-03y0xLXgdvw1NAtH2FDW91wp13ohimqjz3kl2mWc11E=";
+  version = "2.6.0";
+  srcHash = "sha256-SuTizOHsj1t4WovbOX5MuMZixbPo7TyCnD6nnf62/H4=";
   # The tarball contains vendored dependencies
   vendorHash = null;
 in
diff --git a/pkgs/development/tools/cotton/default.nix b/pkgs/development/tools/cotton/default.nix
index 1fce291cc4b59..ec39c399bdd50 100644
--- a/pkgs/development/tools/cotton/default.nix
+++ b/pkgs/development/tools/cotton/default.nix
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
   meta = with lib; {
-    description = "A package manager for JavaScript projects";
+    description = "Package manager for JavaScript projects";
     mainProgram = "cotton";
     homepage = "https://github.com/danielhuang/cotton";
     license = licenses.gpl3Only;
diff --git a/pkgs/development/tools/coursier/default.nix b/pkgs/development/tools/coursier/default.nix
index 7c4c9e936caec..3732a1eec55f9 100644
--- a/pkgs/development/tools/coursier/default.nix
+++ b/pkgs/development/tools/coursier/default.nix
@@ -8,11 +8,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "coursier";
-  version = "2.1.9";
+  version = "2.1.10";
 
   src = fetchurl {
     url = "https://github.com/coursier/coursier/releases/download/v${version}/coursier";
-    hash = "sha256-Zj0nDCpbT7foGdUkxPG/FeljZj1alk/gvE0m/T4WlXE=";
+    hash = "sha256-fiZwmDDuaafBbYQdOxPpTrleMLOSakCteizpKwcGStk=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/cpm-cmake/default.nix b/pkgs/development/tools/cpm-cmake/default.nix
index 98d56d16c1ce3..f0b45f8a50f65 100644
--- a/pkgs/development/tools/cpm-cmake/default.nix
+++ b/pkgs/development/tools/cpm-cmake/default.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "cpm-cmake";
-  version = "0.39.0";
+  version = "0.40.0";
 
   src = fetchFromGitHub {
     owner = "cpm-cmake";
     repo = "cpm.cmake";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-cDFt+fDpb/gDlFx+3C5Hw/ybf4hdjZOrpeNR8yBwd1M=";
+    hash = "sha256-307U/7gO8Ps5UvslYGOrVKHRjO9TYJrYsnAzu0Kljt8=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/tools/crd2pulumi/default.nix b/pkgs/development/tools/crd2pulumi/default.nix
index aacf306008050..58baefc71269f 100644
--- a/pkgs/development/tools/crd2pulumi/default.nix
+++ b/pkgs/development/tools/crd2pulumi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "crd2pulumi";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "pulumi";
     repo = "crd2pulumi";
     rev = "v${version}";
-    sha256 = "sha256-UBfb6PI+Ivk6JxSBIHw4tN09BHN1J+un04mnR3ByDfc=";
+    sha256 = "sha256-PfgFDYZS5zKywQH6f5L8mFmEagxcEQ74Ht7D22hSYHY=";
   };
 
-  vendorHash = "sha256-Fs43ITqfZYEcuRzm5bTTgmG/tWGIX9k8gdYBHmO4tMQ=";
+  vendorHash = "sha256-k6YJhYY2P/D8Vbsp5PExKrcGXBv2GsIkqb3m6KeYm6g=";
 
   ldflags = [ "-s" "-w" "-X github.com/pulumi/crd2pulumi/gen.Version=${src.rev}" ];
 
diff --git a/pkgs/development/tools/ctlptl/default.nix b/pkgs/development/tools/ctlptl/default.nix
index 3c2abdd454974..f7dca069d483f 100644
--- a/pkgs/development/tools/ctlptl/default.nix
+++ b/pkgs/development/tools/ctlptl/default.nix
@@ -2,19 +2,21 @@
 
 buildGoModule rec {
   pname = "ctlptl";
-  version = "0.8.28";
+  version = "0.8.29";
 
   src = fetchFromGitHub {
     owner = "tilt-dev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-GFCyFJrhl6VEnIuZNpIIYgdTHYxeBmaukpJ72xspwFM=";
+    hash = "sha256-4drk8mqFVGXUktPiWuVNzWVBQr4TRcutZgGsF3vpRIE=";
   };
 
-  vendorHash = "sha256-DEUZbqHHYfjD5jGT5nn3UbWT1aODRsLailSorI/W6w4=";
+  vendorHash = "sha256-rf/4xyridcsSlGOVQ91Wr8bHnm7wfuXs6HSPKW2J8hM=";
 
   nativeBuildInputs = [ installShellFiles ];
 
+  subPackages = [ "cmd/ctlptl" ];
+
   ldflags = [
     "-s"
     "-w"
diff --git a/pkgs/development/tools/dapr/cli/default.nix b/pkgs/development/tools/dapr/cli/default.nix
deleted file mode 100644
index a672b9637e33b..0000000000000
--- a/pkgs/development/tools/dapr/cli/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ buildGoModule, fetchFromGitHub, installShellFiles, lib }:
-
-buildGoModule rec {
-  pname = "dapr-cli";
-  version = "1.13.0";
-
-  src = fetchFromGitHub {
-    owner = "dapr";
-    repo = "cli";
-    rev = "v${version}";
-    sha256 = "sha256-nR9+6glX0oUJZq32XxyV4aVjfjVlNycZvMNaVHy+Q1s=";
-  };
-
-  vendorHash = "sha256-kFmoNd40YxUXVXk0F1Bf77KS5AM0jjOTwTjM5pYKkv4=";
-
-  proxyVendor = true;
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  subPackages = [ "." ];
-
-  preCheck = ''
-    export HOME=$(mktemp -d)
-  '';
-
-  ldflags = [
-    "-X main.version=${version}"
-    "-X main.apiVersion=1.0"
-    "-X github.com/dapr/cli/pkg/standalone.gitcommit=${src.rev}"
-    "-X github.com/dapr/cli/pkg/standalone.gitversion=${version}"
-  ];
-
-  postInstall = ''
-    mv $out/bin/cli $out/bin/dapr
-
-    installShellCompletion --cmd dapr \
-      --bash <($out/bin/dapr completion bash) \
-      --zsh <($out/bin/dapr completion zsh)
-  '';
-
-  meta = with lib; {
-    description = "A CLI for managing Dapr, the distributed application runtime";
-    homepage = "https://dapr.io";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ joshvanl lucperkins ];
-    mainProgram = "dapr";
-  };
-}
diff --git a/pkgs/development/tools/darklua/default.nix b/pkgs/development/tools/darklua/default.nix
deleted file mode 100644
index adcce178dfef1..0000000000000
--- a/pkgs/development/tools/darklua/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib
-, stdenv
-, darwin
-, rustPlatform
-, fetchFromGitHub
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "darklua";
-  version = "0.13.0";
-
-  src = fetchFromGitHub {
-    owner = "seaofvoices";
-    repo = "darklua";
-    rev = "v${version}";
-    hash = "sha256-FF0UEvylHFrGYgE3ASs0IwnYrh7gIClZUREtXjyVsPM=";
-  };
-
-  cargoHash = "sha256-XrWhOosQM+BaqViIju7urCi1B8+6kq8Taxe5T8LFzVE=";
-
-  buildInputs = lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.CoreServices
-  ];
-
-
-  # error: linker `aarch64-linux-gnu-gcc` not found
-  postPatch = ''
-    rm .cargo/config.toml
-  '';
-
-  meta = with lib; {
-    description = "A command line tool that transforms Lua code";
-    mainProgram = "darklua";
-    homepage = "https://darklua.com";
-    changelog = "https://github.com/seaofvoices/darklua/blob/${src.rev}/CHANGELOG.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ tomodachi94 ];
-  };
-}
diff --git a/pkgs/development/tools/database/apgdiff/default.nix b/pkgs/development/tools/database/apgdiff/default.nix
index 2aa53fbabd293..8ce720efd6819 100644
--- a/pkgs/development/tools/database/apgdiff/default.nix
+++ b/pkgs/development/tools/database/apgdiff/default.nix
@@ -1,22 +1,33 @@
 { lib
-, stdenvNoCC
-, fetchurl
-, makeWrapper
+, maven
+, fetchFromGitHub
 , jre
+, makeWrapper
 }:
-stdenvNoCC.mkDerivation (finalAttrs: {
-  version = "2.7.0";
+maven.buildMavenPackage rec {
   pname = "apgdiff";
+  version = "2.7.0";
 
-  src = fetchurl {
-    url = "https://github.com/fordfrog/apgdiff/raw/release_${finalAttrs.version}/releases/apgdiff-${finalAttrs.version}.jar";
-    sha256 = "sha256-6OempDmedl6LOwP/s5y0hOIxGDWHd7qM7/opW3UwQ+I=";
+  src = fetchFromGitHub {
+    sparseCheckout = [ "src" ];
+    owner = "fordfrog";
+    repo = "apgdiff";
+    rev = "refs/tags/release_${version}";
+    hash = "sha256-2m+9QNwQV2tJwOabTXE2xjRB5gDrSwyL6zL2op+wmkM=";
   };
 
+  # Fix wrong version string in --help
+  postPatch = ''
+    sed -i 's/VersionNumber=.*/VersionNumber=${version}/' \
+      src/main/resources/cz/startnet/utils/pgdiff/Resources.properties
+  '';
+
+  mvnHash = "sha256-zJQirS8sVqHKZsBukEOf7ox5IeiAVOP6wEHWb4CAyxc=";
+
   nativeBuildInputs = [ makeWrapper ];
 
-  buildCommand = ''
-    install -Dm644 $src $out/lib/apgdiff.jar
+  installPhase = ''
+    install -Dm644 target/apgdiff-${version}.jar $out/lib/apgdiff.jar
 
     mkdir -p $out/bin
     makeWrapper ${jre}/bin/java $out/bin/apgdiff \
@@ -30,7 +41,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     homepage = "https://apgdiff.com";
     license = licenses.mit;
     inherit (jre.meta) platforms;
-    sourceProvenance = [ sourceTypes.binaryBytecode ];
     maintainers = [ maintainers.misterio77 ];
   };
-})
+}
diff --git a/pkgs/development/tools/database/atlas/default.nix b/pkgs/development/tools/database/atlas/default.nix
index 270d134927855..3901c068d0985 100644
--- a/pkgs/development/tools/database/atlas/default.nix
+++ b/pkgs/development/tools/database/atlas/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "atlas";
-  version = "0.21.1";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "ariga";
     repo = "atlas";
     rev = "v${version}";
-    hash = "sha256-i0nqjlL22sM8eVXCD/SBJyNdy0l0Hq4rjW0Lr3CRZlE=";
+    hash = "sha256-kmsDTHnYSkCRdLXPzE5g2qzzb8EuGunrM9SDfaul8Xo=";
   };
 
   modRoot = "cmd/atlas";
 
   proxyVendor = true;
-  vendorHash = "sha256-48UmLwp93SjwPPrdySFVApjVf1Rsj3oNhi1lha4ZvyE=";
+  vendorHash = "sha256-z2+u6jPTP6MOs7PTF6UzPwhnofQOhRll0zrmsLrN+PQ=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -36,11 +36,11 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A modern tool for managing database schemas";
+    description = "Modern tool for managing database schemas";
     homepage = "https://atlasgo.io/";
     changelog = "https://github.com/ariga/atlas/releases/tag/v${version}";
     license = licenses.asl20;
-    maintainers = [ ];
+    maintainers = with maintainers; [ aaronjheng ];
     mainProgram = "atlas";
   };
 }
diff --git a/pkgs/development/tools/database/clickhouse-backup/default.nix b/pkgs/development/tools/database/clickhouse-backup/default.nix
index bf9ffa48e439b..2b7a31d05f2e8 100644
--- a/pkgs/development/tools/database/clickhouse-backup/default.nix
+++ b/pkgs/development/tools/database/clickhouse-backup/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "clickhouse-backup";
-  version = "2.5.4";
+  version = "2.5.14";
 
   src = fetchFromGitHub {
-    owner = "AlexAkulov";
+    owner = "Altinity";
     repo = "clickhouse-backup";
     rev = "v${version}";
-    hash = "sha256-uFQm7VRxFozV/I1tywey5ljWqzt08aShVjlwUT3oz5w=";
+    hash = "sha256-y57P6AM0w1AaOxCOHPjdgyhvqP/yasOP46JdErnYEvg=";
   };
 
-  vendorHash = "sha256-T4afeclCWldFJTzk08Ku8VPnXr/Gz0Fpb7G9YrK/iro=";
+  vendorHash = "sha256-vwcItklYe6ljFdGTxef19plaI5OMoOtQohY0xZLBUos=";
 
   ldflags = [
     "-X main.version=${version}"
@@ -31,11 +31,10 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "Tool for easy ClickHouse backup and restore with cloud storages support";
+    description = "Tool for easy ClickHouse backup and restore using object storage for backup files";
     mainProgram = "clickhouse-backup";
-    homepage = "https://github.com/AlexAkulov/clickhouse-backup";
+    homepage = "https://github.com/Altinity/clickhouse-backup";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ devusb ];
   };
 }
diff --git a/pkgs/development/tools/database/dblab/default.nix b/pkgs/development/tools/database/dblab/default.nix
index 52a0aefdcc932..a797f18be70c6 100644
--- a/pkgs/development/tools/database/dblab/default.nix
+++ b/pkgs/development/tools/database/dblab/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dblab";
-  version = "0.22.0";
+  version = "0.24.1";
 
   src = fetchFromGitHub {
     owner = "danvergara";
     repo = "dblab";
     rev = "v${version}";
-    hash = "sha256-eIkHaNFvXU9GGyYOH8lqzvwQQ6pz8zWeO4xY9jP25dU=";
+    hash = "sha256-p579rxv8ntNLfunKl6JGYE7eFZc51p2OGWGhQmAuADY=";
   };
 
-  vendorHash = "sha256-WzyH3Ja/Znk/9aavIoBQRpJVnGb5o/ded0g92MTa4M4=";
+  vendorHash = "sha256-RmZkSlA6KU1wXKFHPLYVhRjwxsDjO1XNoGBdNCmeGSw=";
 
   ldflags = [ "-s -w -X main.version=${version}" ];
 
@@ -22,7 +22,7 @@ buildGoModule rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "The database client every command line junkie deserves";
+    description = "Database client every command line junkie deserves";
     homepage = "https://github.com/danvergara/dblab";
     license = licenses.mit;
     maintainers = with maintainers; [ dit7ya ];
diff --git a/pkgs/development/tools/database/dbmate/default.nix b/pkgs/development/tools/database/dbmate/default.nix
index 38f5ba2f19e5c..4ff96bfd32679 100644
--- a/pkgs/development/tools/database/dbmate/default.nix
+++ b/pkgs/development/tools/database/dbmate/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dbmate";
-  version = "2.15.0";
+  version = "2.17.0";
 
   src = fetchFromGitHub {
     owner = "amacneil";
     repo = "dbmate";
     rev = "refs/tags/v${version}";
-    hash = "sha256-crn2FSJm7CSBg5TOcB5bJOsWqBrlwDoik7OS3HiCIGw=";
+    hash = "sha256-r0C03K/jyL8P0iysa6R1AaHVpB6Bw/FUwBIz7V/rGak=";
   };
 
-  vendorHash = "sha256-eFGQ59fdS+QQounT/byA0w9W+MK2Lhp+mlXAWWAtk6U=";
+  vendorHash = "sha256-8NVkpJEAp3UsM2BnZVcavK+89MELo0T96tTcY0pke6Q=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/database/gobang/default.nix b/pkgs/development/tools/database/gobang/default.nix
deleted file mode 100644
index b3611169996cb..0000000000000
--- a/pkgs/development/tools/database/gobang/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, stdenv
-, CoreFoundation
-, Security
-, SystemConfiguration
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "gobang";
-  version = "0.1.0-alpha.5";
-
-  src = fetchFromGitHub {
-    owner = "tako8ki";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "02glb3hlprpdc72ji0248a7g0vr36yxr0gfbbms2m25v251dyaa6";
-  };
-
-  cargoSha256 = "sha256-Tiefet5gLpiuYY6Scg5fjnaPiZfVl5Gy2oZFdhgNRxY=";
-
-  buildInputs = lib.optionals stdenv.isDarwin [
-    CoreFoundation
-    Security
-    SystemConfiguration
-  ];
-
-  meta = with lib; {
-    description = "A cross-platform TUI database management tool written in Rust";
-    homepage = "https://github.com/tako8ki/gobang";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/development/tools/database/indradb/default.nix b/pkgs/development/tools/database/indradb/default.nix
index 50f4d32221296..0df697b8df9d9 100644
--- a/pkgs/development/tools/database/indradb/default.nix
+++ b/pkgs/development/tools/database/indradb/default.nix
@@ -14,7 +14,7 @@ let
   };
 
   meta = with lib; {
-    description = "A graph database written in rust ";
+    description = "Graph database written in rust ";
     homepage = "https://github.com/indradb/indradb";
     license = licenses.mpl20;
     maintainers = with maintainers; [ happysalada ];
diff --git a/pkgs/development/tools/database/liquibase/default.nix b/pkgs/development/tools/database/liquibase/default.nix
index 7e6a8334cff40..742884fbacb03 100644
--- a/pkgs/development/tools/database/liquibase/default.nix
+++ b/pkgs/development/tools/database/liquibase/default.nix
@@ -25,11 +25,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "liquibase";
-  version = "4.27.0";
+  version = "4.28.0";
 
   src = fetchurl {
     url = "https://github.com/liquibase/liquibase/releases/download/v${version}/${pname}-${version}.tar.gz";
-    hash = "sha256-UNieH8ECSb8ZjxqP8tgf0LaObKCAXbKKlNOGSXhNgvA=";
+    hash = "sha256-l90H6soEBqCeGuGbQH7qQqfpRMf0Vxkiv/znG0O3XOg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/database/litecli/default.nix b/pkgs/development/tools/database/litecli/default.nix
index 5179d245ebc2f..69004289f528e 100644
--- a/pkgs/development/tools/database/litecli/default.nix
+++ b/pkgs/development/tools/database/litecli/default.nix
@@ -5,12 +5,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "litecli";
-  version = "1.10.1";
-  disabled = python3Packages.pythonOlder "3.4";
+  version = "1.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-N+aAH2vgDV1YU7iIHbH/276bCBfGxhuy2ceWL2z/oI8=";
+    sha256 = "sha256-YW3mjYfSuxi/XmaetrWmjVuTfqgaitQ5wfUaJdHIH1Y=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/development/tools/database/mermerd/default.nix b/pkgs/development/tools/database/mermerd/default.nix
index 7331f5f61750d..f73cca5d01ec6 100644
--- a/pkgs/development/tools/database/mermerd/default.nix
+++ b/pkgs/development/tools/database/mermerd/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "mermerd";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "KarnerTh";
     repo = "mermerd";
     rev = "refs/tags/v${version}";
-    hash = "sha256-SzDwVkV7rV/pctFNWzgCfsDAHqcf/R5UMRJ48o+Iel0=";
+    hash = "sha256-7oBN9EeF3JBrOFuIM3lkNR2WMZA8PNDaKqdsVPawHBE=";
   };
 
-  vendorHash = "sha256-rLOYJ/do4HSztnHrQZOUOG0Y3e3BupUGlijP5x8WtZc=";
+  vendorHash = "sha256-bd/1LT0Pw25NhbnwQH3nmuCm3m8jBKPOYGRIRpcOGQI=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/database/movine/default.nix b/pkgs/development/tools/database/movine/default.nix
index 6aba244be3ace..51a4d8f2943b1 100644
--- a/pkgs/development/tools/database/movine/default.nix
+++ b/pkgs/development/tools/database/movine/default.nix
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A migration manager written in Rust, that attempts to be smart yet minimal";
+    description = "Migration manager written in Rust, that attempts to be smart yet minimal";
     mainProgram = "movine";
     homepage = "https://github.com/byronwasti/movine";
     license = licenses.mit;
diff --git a/pkgs/development/tools/database/pg_activity/default.nix b/pkgs/development/tools/database/pg_activity/default.nix
index 4313e2a648ca3..ccb4444c01c96 100644
--- a/pkgs/development/tools/database/pg_activity/default.nix
+++ b/pkgs/development/tools/database/pg_activity/default.nix
@@ -23,7 +23,7 @@ python3Packages.buildPythonApplication rec {
   pythonImportsCheck = [ "pgactivity" ];
 
   meta = with lib; {
-    description = "A top like application for PostgreSQL server activity monitoring";
+    description = "Top like application for PostgreSQL server activity monitoring";
     mainProgram = "pg_activity";
     homepage = "https://github.com/dalibo/pg_activity";
     license = licenses.postgresql;
diff --git a/pkgs/development/tools/database/pgweb/default.nix b/pkgs/development/tools/database/pgweb/default.nix
index 9fa1436bee1b6..81eaef5c5ee6c 100644
--- a/pkgs/development/tools/database/pgweb/default.nix
+++ b/pkgs/development/tools/database/pgweb/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "pgweb";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "sosedoff";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-n8MFYwne25MdzVwYmmXt9d9rqKU37patAazb3Wn9coM=";
+    hash = "sha256-3iSnFzHqk3KBLvs7XixqpT4j2T/t2O2R7rMD4nlkIuw=";
   };
 
   postPatch = ''
@@ -42,7 +42,7 @@ buildGoModule rec {
 
   meta = with lib; {
     changelog = "https://github.com/sosedoff/pgweb/releases/tag/v${version}";
-    description = "A web-based database browser for PostgreSQL";
+    description = "Web-based database browser for PostgreSQL";
     longDescription = ''
       A simple postgres browser that runs as a web server. You can view data,
       run queries and examine tables and indexes.
diff --git a/pkgs/development/tools/database/prisma-engines/default.nix b/pkgs/development/tools/database/prisma-engines/default.nix
index b2f3d29a216f0..57c91c1719b91 100644
--- a/pkgs/development/tools/database/prisma-engines/default.nix
+++ b/pkgs/development/tools/database/prisma-engines/default.nix
@@ -70,7 +70,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A collection of engines that power the core stack for Prisma";
+    description = "Collection of engines that power the core stack for Prisma";
     homepage = "https://www.prisma.io/";
     license = licenses.asl20;
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/database/prqlc/default.nix b/pkgs/development/tools/database/prqlc/default.nix
index 41e144f5b5f28..f929704d3dd45 100644
--- a/pkgs/development/tools/database/prqlc/default.nix
+++ b/pkgs/development/tools/database/prqlc/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "prqlc";
-  version = "0.11.4";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "prql";
     repo = "prql";
     rev = version;
-    hash = "sha256-YQqGy6BadoTjlCrF7N2PhxmXyuNa6V4sFHRphxQfF4o=";
+    hash = "sha256-nD3B4R2eBX52wekBrBT3jiIYdE/p6xgnHrvDFFofl/s=";
   };
 
-  cargoHash = "sha256-0UEbg6f+9eew5RxmuPsOrtiSBsP9mPMO8h5mJEeTFFU=";
+  cargoHash = "sha256-Rhvl9rqtJyEpZZYUaN+ih6KXgEVKZCyovf34l883bZM=";
 
   nativeBuildInputs = [
     pkg-config
@@ -50,7 +50,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A CLI for the PRQL compiler - a simple, powerful, pipelined SQL replacement";
+    description = "CLI for the PRQL compiler - a simple, powerful, pipelined SQL replacement";
     homepage = "https://github.com/prql/prql";
     changelog = "https://github.com/prql/prql/blob/${src.rev}/CHANGELOG.md";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/database/pyrseas/default.nix b/pkgs/development/tools/database/pyrseas/default.nix
index cf93f114e7db5..03b0a5cecbbbf 100644
--- a/pkgs/development/tools/database/pyrseas/default.nix
+++ b/pkgs/development/tools/database/pyrseas/default.nix
@@ -41,7 +41,7 @@ python3Packages.buildPythonApplication rec {
   doCheck = false;
 
   meta = {
-    description = "A declarative language to describe PostgreSQL databases";
+    description = "Declarative language to describe PostgreSQL databases";
     homepage = "https://perseas.github.io/";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ pmeunier ];
diff --git a/pkgs/development/tools/database/sleek/default.nix b/pkgs/development/tools/database/sleek/default.nix
index c92bc7ed2be30..0218917a2caa9 100644
--- a/pkgs/development/tools/database/sleek/default.nix
+++ b/pkgs/development/tools/database/sleek/default.nix
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
   cargoLock.lockFile = ./Cargo.lock;
 
   meta = with lib; {
-    description = "A CLI tool for formatting SQL";
+    description = "CLI tool for formatting SQL";
     homepage = "https://github.com/nrempel/sleek";
     license = licenses.mit;
     maintainers = with maintainers; [ xrelkd ];
diff --git a/pkgs/development/tools/database/sqlcl/default.nix b/pkgs/development/tools/database/sqlcl/default.nix
index 60421c59ed49f..204f0f4e5a7a9 100644
--- a/pkgs/development/tools/database/sqlcl/default.nix
+++ b/pkgs/development/tools/database/sqlcl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sqlcl";
-  version = "23.4.0.023.2321";
+  version = "24.1.0.087.0929";
 
   src = fetchurl {
     url = "https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-${finalAttrs.version}.zip";
-    hash = "sha256-8K2yuLYMJI9fFeDcHpWHYmIxZGC06/heYBEW1z2tGc4=";
+    hash = "sha256-DHp3Wrwro1oaBEw1O7cyRGJKbhD2z86MeY2Xq2vzo1Q=";
   };
 
   nativeBuildInputs = [ makeWrapper unzip ];
diff --git a/pkgs/development/tools/database/sqlcmd/default.nix b/pkgs/development/tools/database/sqlcmd/default.nix
index 7e23d5e624bdd..f636092ec5c97 100644
--- a/pkgs/development/tools/database/sqlcmd/default.nix
+++ b/pkgs/development/tools/database/sqlcmd/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "sqlcmd";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     repo = "go-sqlcmd";
     owner = "microsoft";
     rev = "v${version}";
-    sha256 = "sha256-LLRNaY6ArUNoKSWSauCh2RKEGO5+G1OnoCAqMaAfOkY=";
+    sha256 = "sha256-69vSRwRl6Ep+lBpy31PkDdEV58yEhtqQBeisaih43CU=";
   };
 
-  vendorHash = "sha256-NVmgAlNQvRj/7poIEWjMyKw2qWMd/HwbdSFHpumnRlo=";
+  vendorHash = "sha256-boMvZf8+o1JDaxiyttbW/7hcuTN9wAeTUWT89N0FsSU=";
   proxyVendor = true;
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
@@ -46,7 +46,7 @@ buildGoModule rec {
   };
 
   meta = {
-    description = "A command line tool for working with Microsoft SQL Server, Azure SQL Database, and Azure Synapse";
+    description = "Command line tool for working with Microsoft SQL Server, Azure SQL Database, and Azure Synapse";
     mainProgram = "sqlcmd";
     homepage = "https://github.com/microsoft/go-sqlcmd";
     changelog = "https://github.com/microsoft/go-sqlcmd/releases/tag/v${version}";
diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix
index 110131532e604..9d2d4a36b453b 100644
--- a/pkgs/development/tools/database/sqlfluff/default.nix
+++ b/pkgs/development/tools/database/sqlfluff/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sqlfluff";
-  version = "3.0.5";
+  version = "3.0.7";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "sqlfluff";
     repo = "sqlfluff";
     rev = "refs/tags/${version}";
-    hash = "sha256-jH6o1moyyugKtIIccp8Tbcg5EAMOxzNco9saUgoDzWY=";
+    hash = "sha256-nq+c9NHtQ6pMouJEI7YUhgb9+ljlJECP8REL4Gm4B10=";
   };
 
   build-system = with python3.pkgs; [ setuptools ];
diff --git a/pkgs/development/tools/database/surrealdb-migrations/Cargo.lock b/pkgs/development/tools/database/surrealdb-migrations/Cargo.lock
index 1f2f5fe8cd0fe..4ccab5df7b797 100644
--- a/pkgs/development/tools/database/surrealdb-migrations/Cargo.lock
+++ b/pkgs/development/tools/database/surrealdb-migrations/Cargo.lock
@@ -28,9 +28,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "ahash"
-version = "0.7.7"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
+checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
 dependencies = [
  "getrandom",
  "once_cell",
@@ -39,9 +39,9 @@ dependencies = [
 
 [[package]]
 name = "ahash"
-version = "0.8.7"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if",
  "getrandom",
@@ -52,18 +52,18 @@ dependencies = [
 
 [[package]]
 name = "aho-corasick"
-version = "1.1.2"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "allocator-api2"
-version = "0.2.16"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
 
 [[package]]
 name = "android-tzdata"
@@ -82,9 +82,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.6.5"
+version = "0.6.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -96,9 +96,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.4"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
@@ -136,6 +136,15 @@ checksum = "ea50b14b7a4b9343f8c627a7a53c52076482bd4bdad0a24fd3ec533ed616cc2c"
 
 [[package]]
 name = "approx"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f2a05fd1bd10b2527e20a2cd32d8873d115b8b39fe219ee25f42a8aca6ba278"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "approx"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
@@ -151,9 +160,9 @@ checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
 
 [[package]]
 name = "argon2"
-version = "0.5.2"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ba4cac0a46bc1d2912652a751c47f2a9f3a7fe89bcae2275d418f5270402f9"
+checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072"
 dependencies = [
  "base64ct",
  "blake2",
@@ -178,9 +187,9 @@ dependencies = [
 
 [[package]]
 name = "assert_cmd"
-version = "2.0.12"
+version = "2.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88903cb14723e4d4003335bb7f8a14f27691649105346a0f0957466c096adfe6"
+checksum = "ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8"
 dependencies = [
  "anstyle",
  "bstr",
@@ -193,9 +202,9 @@ dependencies = [
 
 [[package]]
 name = "assert_fs"
-version = "1.1.0"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adc5d78e9048d836d12a0c0040ca5f45b18a94d204b4ba4f677a8a7de162426b"
+checksum = "2cd762e110c8ed629b11b6cde59458cc1c71de78ebbcc30099fc8e0403a2a2ec"
 dependencies = [
  "anstyle",
  "doc-comment",
@@ -219,9 +228,9 @@ dependencies = [
 
 [[package]]
 name = "async-executor"
-version = "1.8.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
+checksum = "5f98c37cf288e302c16ef6c8472aad1e034c6c84ce5ea7b8101c98eb4a802fee"
 dependencies = [
  "async-lock",
  "async-task",
@@ -233,24 +242,24 @@ dependencies = [
 
 [[package]]
 name = "async-lock"
-version = "3.2.0"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
 dependencies = [
- "event-listener 4.0.1",
+ "event-listener 4.0.3",
  "event-listener-strategy",
  "pin-project-lite",
 ]
 
 [[package]]
 name = "async-recursion"
-version = "1.0.5"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
+checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -272,24 +281,24 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "async-task"
-version = "4.6.0"
+version = "4.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1d90cd0b264dfdd8eb5bad0a2c217c1f88fa96a8573f40e7b12de23fb468f46"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
 
 [[package]]
 name = "async-trait"
-version = "0.1.76"
+version = "0.1.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "531b97fb4cd3dfdce92c35dedbfdc1f0b9d8091c8ca943d6dae340ef5012d514"
+checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -319,27 +328,16 @@ dependencies = [
 ]
 
 [[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
-[[package]]
 name = "autocfg"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
 
 [[package]]
 name = "backtrace"
-version = "0.3.69"
+version = "0.3.71"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
 dependencies = [
  "addr2line",
  "cc",
@@ -352,9 +350,15 @@ dependencies = [
 
 [[package]]
 name = "base64"
-version = "0.21.5"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "base64"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
 
 [[package]]
 name = "base64ct"
@@ -364,11 +368,11 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
 
 [[package]]
 name = "bcrypt"
-version = "0.15.0"
+version = "0.15.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28d1c9c15093eb224f0baa400f38fcd713fc1391a6f1c389d886beef146d60a3"
+checksum = "e65938ed058ef47d92cf8b346cc76ef48984572ade631927e9937b5ffc7662c7"
 dependencies = [
- "base64",
+ "base64 0.22.0",
  "blowfish",
  "getrandom",
  "subtle",
@@ -407,9 +411,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
 
 [[package]]
 name = "bitvec"
@@ -453,9 +457,9 @@ dependencies = [
 
 [[package]]
 name = "borsh"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d4d6dafc1a3bb54687538972158f07b2c948bc57d5890df22c0739098b3028"
+checksum = "0901fc8eb0aca4c83be0106d6f2db17d86a08dfc2c25f0e84464bf381158add6"
 dependencies = [
  "borsh-derive",
  "cfg_aliases",
@@ -463,23 +467,23 @@ dependencies = [
 
 [[package]]
 name = "borsh-derive"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf4918709cc4dd777ad2b6303ed03cb37f3ca0ccede8c1b0d28ac6db8f4710e0"
+checksum = "51670c3aa053938b0ee3bd67c3817e471e626151131b934038e83c5bf8de48f5"
 dependencies = [
  "once_cell",
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
  "syn_derive",
 ]
 
 [[package]]
 name = "bstr"
-version = "1.9.0"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc"
+checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
 dependencies = [
  "memchr",
  "regex-automata",
@@ -488,15 +492,15 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
 
 [[package]]
 name = "bytecheck"
-version = "0.6.11"
+version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627"
+checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2"
 dependencies = [
  "bytecheck_derive",
  "ptr_meta",
@@ -505,9 +509,9 @@ dependencies = [
 
 [[package]]
 name = "bytecheck_derive"
-version = "0.6.11"
+version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61"
+checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -516,9 +520,9 @@ dependencies = [
 
 [[package]]
 name = "bytemuck"
-version = "1.14.0"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15"
 
 [[package]]
 name = "byteorder"
@@ -528,24 +532,21 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
-version = "1.5.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
 
 [[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.0.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
-dependencies = [
- "libc",
-]
+checksum = "2678b2e3449475e95b0aa6f9b506a28e61b3dc8996592b983695e8ebb58a8b41"
 
 [[package]]
 name = "cedar-policy"
-version = "2.4.3"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31ff2003d0aba0a4b2e5212660321d63dc7c36efe636d6ca1882d489cbc0bef8"
+checksum = "3d91e3b10a0f7f2911774d5e49713c4d25753466f9e11d1cd2ec627f8a2dc857"
 dependencies = [
  "cedar-policy-core",
  "cedar-policy-validator",
@@ -560,9 +561,9 @@ dependencies = [
 
 [[package]]
 name = "cedar-policy-core"
-version = "2.4.3"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c52f9666c7cb1b6f14a6e77d3ffcffa20fd3e1012ac8dcc393498c33ff632c3"
+checksum = "cd2315591c6b7e18f8038f0a0529f254235fd902b6c217aabc04f2459b0d9995"
 dependencies = [
  "either",
  "ipnet",
@@ -583,9 +584,9 @@ dependencies = [
 
 [[package]]
 name = "cedar-policy-validator"
-version = "2.4.3"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76a63c1a72bcafda800830cbdde316162074b341b7d59bd4b1cea6156f22dfa7"
+checksum = "e756e1b2a5da742ed97e65199ad6d0893e9aa4bd6b34be1de9e70bd1e6adc7df"
 dependencies = [
  "cedar-policy-core",
  "itertools 0.10.5",
@@ -612,9 +613,9 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
 
 [[package]]
 name = "chrono"
-version = "0.4.31"
+version = "0.4.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -622,7 +623,7 @@ dependencies = [
  "num-traits",
  "serde",
  "wasm-bindgen",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -635,93 +636,81 @@ dependencies = [
 ]
 
 [[package]]
-name = "cipher"
-version = "0.4.4"
+name = "ciborium"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
+checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
 dependencies = [
- "crypto-common",
- "inout",
+ "ciborium-io",
+ "ciborium-ll",
+ "serde",
 ]
 
 [[package]]
-name = "clap"
-version = "3.2.25"
+name = "ciborium-io"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
-dependencies = [
- "atty",
- "bitflags 1.3.2",
- "clap_derive 3.2.25",
- "clap_lex 0.2.4",
- "indexmap 1.9.3",
- "once_cell",
- "strsim",
- "termcolor",
- "textwrap",
-]
+checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
 
 [[package]]
-name = "clap"
-version = "4.4.12"
+name = "ciborium-ll"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d"
+checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
 dependencies = [
- "clap_builder",
- "clap_derive 4.4.7",
+ "ciborium-io",
+ "half",
 ]
 
 [[package]]
-name = "clap_builder"
-version = "4.4.12"
+name = "cipher"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9"
+checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
 dependencies = [
- "anstream",
- "anstyle",
- "clap_lex 0.6.0",
- "strsim",
+ "crypto-common",
+ "inout",
 ]
 
 [[package]]
-name = "clap_derive"
-version = "3.2.25"
+name = "clap"
+version = "4.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
+checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
 dependencies = [
- "heck",
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "clap_builder",
+ "clap_derive",
 ]
 
 [[package]]
-name = "clap_derive"
-version = "4.4.7"
+name = "clap_builder"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
 dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "syn 2.0.43",
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim 0.11.1",
 ]
 
 [[package]]
-name = "clap_lex"
-version = "0.2.4"
+name = "clap_derive"
+version = "4.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
 dependencies = [
- "os_str_bytes",
+ "heck 0.5.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "cli-table"
@@ -748,9 +737,9 @@ dependencies = [
 
 [[package]]
 name = "color-eyre"
-version = "0.6.2"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204"
+checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5"
 dependencies = [
  "backtrace",
  "color-spantrace",
@@ -796,9 +785,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
 
 [[package]]
 name = "const-random"
-version = "0.1.17"
+version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a"
+checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359"
 dependencies = [
  "const-random-macro",
 ]
@@ -841,9 +830,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
@@ -856,34 +845,28 @@ checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216"
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.4"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.17"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.18"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crunchy"
@@ -924,9 +907,9 @@ dependencies = [
 
 [[package]]
 name = "darling"
-version = "0.20.3"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
+checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -934,27 +917,27 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.20.3"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
+checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
- "syn 2.0.43",
+ "strsim 0.10.0",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.20.3"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
+checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
 dependencies = [
  "darling_core",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -964,7 +947,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
 dependencies = [
  "cfg-if",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
  "lock_api",
  "once_cell",
  "parking_lot_core",
@@ -978,9 +961,9 @@ checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
 name = "der"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
+checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0"
 dependencies = [
  "const-oid",
  "pem-rfc7468",
@@ -999,9 +982,9 @@ dependencies = [
 
 [[package]]
 name = "deunicode"
-version = "1.4.2"
+version = "1.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ae2a35373c5c74340b79ae6780b498b2b183915ec5dacf263aac5a099bf485a"
+checksum = "b6e854126756c496b8c81dec88f9a706b15b875c5849d4097a3854476b9fdf94"
 
 [[package]]
 name = "diff"
@@ -1102,9 +1085,9 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
 name = "ena"
@@ -1117,9 +1100,9 @@ dependencies = [
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.33"
+version = "0.8.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
 dependencies = [
  "cfg-if",
 ]
@@ -1154,9 +1137,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "event-listener"
-version = "4.0.1"
+version = "4.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84f2cdcf274580f2d63697192d744727b3198894b1bf02923643bf59e2c26712"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -1169,15 +1152,15 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 dependencies = [
- "event-listener 4.0.1",
+ "event-listener 4.0.3",
  "pin-project-lite",
 ]
 
 [[package]]
 name = "eyre"
-version = "0.6.11"
+version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6267a1fa6f59179ea4afc8e50fd8612a3cc60bc858f786ff877a4a8cb042799"
+checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec"
 dependencies = [
  "indenter",
  "once_cell",
@@ -1185,9 +1168,9 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.0.1"
+version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
 
 [[package]]
 name = "fixedbitset"
@@ -1282,9 +1265,9 @@ dependencies = [
 
 [[package]]
 name = "futures-concurrency"
-version = "7.4.3"
+version = "7.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef6712e11cdeed5c8cf21ea0b90fec40fbe64afc9bbf2339356197eeca829fc3"
+checksum = "9b590a729e1cbaf9ae3ec294143ea034d93cbb1de01c884d04bcd0af8b613d02"
 dependencies = [
  "bitvec",
  "futures-core",
@@ -1318,9 +1301,9 @@ checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
-version = "2.1.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143"
+checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
 dependencies = [
  "fastrand",
  "futures-core",
@@ -1337,7 +1320,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -1426,11 +1409,11 @@ dependencies = [
 
 [[package]]
 name = "geo-types"
-version = "0.7.12"
+version = "0.7.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567495020b114f1ce9bed679b29975aa0bfae06ac22beacd5cfde5dabe7b05d6"
+checksum = "9ff16065e5720f376fbced200a5ae0f47ace85fd70b7e54269790281353b6d61"
 dependencies = [
- "approx",
+ "approx 0.5.1",
  "arbitrary",
  "num-traits",
  "rstar",
@@ -1439,18 +1422,18 @@ dependencies = [
 
 [[package]]
 name = "geographiclib-rs"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea804e7bd3c6a4ca6a01edfa35231557a8a81d4d3f3e1e2b650d028c42592be"
+checksum = "e6e5ed84f8089c70234b0a8e0aedb6dc733671612ddc0d37c6066052f9781960"
 dependencies = [
- "lazy_static",
+ "libm",
 ]
 
 [[package]]
 name = "getrandom"
-version = "0.2.11"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -1475,25 +1458,25 @@ dependencies = [
  "bstr",
  "log",
  "regex-automata",
- "regex-syntax 0.8.2",
+ "regex-syntax",
 ]
 
 [[package]]
 name = "globwalk"
-version = "0.8.1"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc"
+checksum = "0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "ignore",
  "walkdir",
 ]
 
 [[package]]
 name = "h2"
-version = "0.3.22"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
+checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
 dependencies = [
  "bytes",
  "fnv",
@@ -1501,7 +1484,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http",
- "indexmap 2.1.0",
+ "indexmap 2.2.6",
  "slab",
  "tokio",
  "tokio-util",
@@ -1509,6 +1492,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "half"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
+dependencies = [
+ "cfg-if",
+ "crunchy",
+]
+
+[[package]]
 name = "hash32"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1523,17 +1516,18 @@ version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 dependencies = [
- "ahash 0.7.7",
+ "ahash 0.7.8",
 ]
 
 [[package]]
 name = "hashbrown"
-version = "0.14.3"
+version = "0.14.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "allocator-api2",
+ "serde",
 ]
 
 [[package]]
@@ -1556,19 +1550,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
-name = "hermit-abi"
-version = "0.1.19"
+name = "heck"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "hex"
@@ -1587,9 +1578,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
 dependencies = [
  "bytes",
  "fnv",
@@ -1665,9 +1656,9 @@ dependencies = [
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.59"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -1704,9 +1695,9 @@ dependencies = [
 
 [[package]]
 name = "ignore"
-version = "0.4.21"
+version = "0.4.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "747ad1b4ae841a78e8aba0d63adbfbeaea26b517b63705d47856b73015d27060"
+checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1"
 dependencies = [
  "crossbeam-deque",
  "globset",
@@ -1756,12 +1747,12 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.1.0"
+version = "2.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
  "serde",
 ]
 
@@ -1781,17 +1772,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
 
 [[package]]
-name = "is-terminal"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455"
-dependencies = [
- "hermit-abi 0.3.3",
- "rustix",
- "windows-sys 0.52.0",
-]
-
-[[package]]
 name = "itertools"
 version = "0.10.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1811,58 +1791,57 @@ dependencies = [
 
 [[package]]
 name = "itertools"
-version = "0.12.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
 dependencies = [
  "either",
 ]
 
 [[package]]
 name = "itoa"
-version = "1.0.10"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
 
 [[package]]
 name = "js-sys"
-version = "0.3.66"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
 name = "lalrpop"
-version = "0.20.0"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da4081d44f4611b66c6dd725e6de3169f9f63905421e8626fcb86b6a898998b8"
+checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca"
 dependencies = [
  "ascii-canvas",
  "bit-set",
- "diff",
  "ena",
- "is-terminal",
- "itertools 0.10.5",
+ "itertools 0.11.0",
  "lalrpop-util",
  "petgraph",
  "pico-args",
  "regex",
- "regex-syntax 0.7.5",
+ "regex-syntax",
  "string_cache",
  "term",
  "tiny-keccak",
  "unicode-xid",
+ "walkdir",
 ]
 
 [[package]]
 name = "lalrpop-util"
-version = "0.20.0"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f35c735096c0293d313e8f2a641627472b83d01b937177fe76e5e2708d31e0d"
+checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553"
 dependencies = [
- "regex",
+ "regex-automata",
 ]
 
 [[package]]
@@ -1885,9 +1864,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.151"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libm"
@@ -1897,20 +1876,31 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
 
 [[package]]
 name = "libredox"
-version = "0.0.1"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "libc",
- "redox_syscall",
+]
+
+[[package]]
+name = "linfa-linalg"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56e7562b41c8876d3367897067013bb2884cc78e6893f092ecd26b305176ac82"
+dependencies = [
+ "ndarray",
+ "num-traits",
+ "rand",
+ "thiserror",
 ]
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.12"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lock_api"
@@ -1924,9 +1914,19 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+
+[[package]]
+name = "matrixmultiply"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2"
+dependencies = [
+ "autocfg",
+ "rawpointer",
+]
 
 [[package]]
 name = "md-5"
@@ -1940,9 +1940,9 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.7.1"
+version = "2.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
 
 [[package]]
 name = "miette"
@@ -1964,7 +1964,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -1991,18 +1991,18 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
 ]
 
 [[package]]
 name = "mio"
-version = "0.8.10"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
 dependencies = [
  "libc",
  "wasi",
@@ -2015,7 +2015,6 @@ version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc"
 dependencies = [
- "clap 3.2.25",
  "rand",
 ]
 
@@ -2038,10 +2037,39 @@ dependencies = [
 ]
 
 [[package]]
+name = "ndarray"
+version = "0.15.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32"
+dependencies = [
+ "approx 0.4.0",
+ "matrixmultiply",
+ "num-complex",
+ "num-integer",
+ "num-traits",
+ "rawpointer",
+]
+
+[[package]]
+name = "ndarray-stats"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af5a8477ac96877b5bd1fd67e0c28736c12943aba24eda92b127e036b0c8f400"
+dependencies = [
+ "indexmap 1.9.3",
+ "itertools 0.10.5",
+ "ndarray",
+ "noisy_float",
+ "num-integer",
+ "num-traits",
+ "rand",
+]
+
+[[package]]
 name = "new_debug_unreachable"
-version = "1.0.4"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
+checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
 
 [[package]]
 name = "nibble_vec"
@@ -2053,6 +2081,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "noisy_float"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978fe6e6ebc0bf53de533cd456ca2d9de13de13856eda1518a285d7705a213af"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
 name = "nom"
 version = "7.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2107,20 +2144,34 @@ dependencies = [
 ]
 
 [[package]]
+name = "num-complex"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
 name = "num-integer"
-version = "0.1.45"
+version = "0.1.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
 dependencies = [
- "autocfg",
  "num-traits",
 ]
 
 [[package]]
 name = "num-iter"
-version = "0.1.43"
+version = "0.1.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9"
 dependencies = [
  "autocfg",
  "num-integer",
@@ -2129,9 +2180,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
  "libm",
@@ -2143,7 +2194,7 @@ version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.3.3",
+ "hermit-abi",
  "libc",
 ]
 
@@ -2185,21 +2236,15 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "ordered-multimap"
-version = "0.7.1"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4d6a8c22fc714f0c2373e6091bf6f5e9b37b1bc0b1184874b7e0a4e303d318f"
+checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79"
 dependencies = [
  "dlv-list",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
 ]
 
 [[package]]
-name = "os_str_bytes"
-version = "6.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
-
-[[package]]
 name = "overload"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2252,6 +2297,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
 name = "path-clean"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2275,7 +2326,7 @@ version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6b13fe415cdf3c8e44518e18a7c95a13431d9bdf6d15367d82b23c377fdd441a"
 dependencies = [
- "base64",
+ "base64 0.21.7",
  "serde",
 ]
 
@@ -2301,7 +2352,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
 dependencies = [
  "fixedbitset",
- "indexmap 2.1.0",
+ "indexmap 2.2.6",
 ]
 
 [[package]]
@@ -2331,29 +2382,29 @@ checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315"
 
 [[package]]
 name = "pin-project"
-version = "1.1.3"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
+checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.3"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
+checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.13"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
 
 [[package]]
 name = "pin-utils"
@@ -2402,14 +2453,13 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
 
 [[package]]
 name = "predicates"
-version = "3.0.4"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6dfc28575c2e3f19cb3c73b93af36460ae898d426eba6fc15b9bd2a5220758a0"
+checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8"
 dependencies = [
  "anstyle",
  "difflib",
  "float-cmp",
- "itertools 0.11.0",
  "normalize-line-endings",
  "predicates-core",
  "regex",
@@ -2443,11 +2493,10 @@ dependencies = [
 
 [[package]]
 name = "proc-macro-crate"
-version = "2.0.1"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97dc5fea232fc28d2f597b37c4876b348a40e33f3b02cc975c8d006d78d94b1a"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
 dependencies = [
- "toml_datetime",
  "toml_edit",
 ]
 
@@ -2477,9 +2526,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.71"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8"
+checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
 dependencies = [
  "unicode-ident",
 ]
@@ -2521,21 +2570,21 @@ dependencies = [
 
 [[package]]
 name = "quick_cache"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58c20af3800cee5134b79a3bd4a3d4b583c16ccfa5f53338f46400851a5b3819"
+checksum = "b1380629287ed1247c1e0fcc6d43efdcec508b65382c9ab775cc8f3df7ca07b0"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "equivalent",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
  "parking_lot",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
 dependencies = [
  "proc-macro2",
 ]
@@ -2588,6 +2637,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "rawpointer"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
+
+[[package]]
+name = "reblessive"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4149deda5bd21e0f6ccaa2f907cd542541521dead5861bc51bebdf2af4acaf2a"
+
+[[package]]
 name = "redox_syscall"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2598,9 +2659,9 @@ dependencies = [
 
 [[package]]
 name = "redox_users"
-version = "0.4.4"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891"
 dependencies = [
  "getrandom",
  "libredox",
@@ -2609,75 +2670,69 @@ dependencies = [
 
 [[package]]
 name = "ref-cast"
-version = "1.0.21"
+version = "1.0.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53313ec9f12686aeeffb43462c3ac77aa25f590a5f630eb2cde0de59417b29c7"
+checksum = "c4846d4c50d1721b1a3bef8af76924eef20d5e723647333798c1b519b3a9473f"
 dependencies = [
  "ref-cast-impl",
 ]
 
 [[package]]
 name = "ref-cast-impl"
-version = "1.0.21"
+version = "1.0.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2566c4bf6845f2c2e83b27043c3f5dfcd5ba8f2937d6c00dc009bfb51a079dc4"
+checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "regex"
-version = "1.10.2"
+version = "1.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
 dependencies = [
  "aho-corasick",
  "memchr",
  "regex-automata",
- "regex-syntax 0.8.2",
+ "regex-syntax",
 ]
 
 [[package]]
 name = "regex-automata"
-version = "0.4.3"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax 0.8.2",
+ "regex-syntax",
 ]
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
-
-[[package]]
-name = "regex-syntax"
-version = "0.8.2"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
 
 [[package]]
 name = "rend"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd"
+checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c"
 dependencies = [
  "bytecheck",
 ]
 
 [[package]]
 name = "reqwest"
-version = "0.11.23"
+version = "0.11.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41"
+checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
 dependencies = [
- "base64",
+ "base64 0.21.7",
  "bytes",
  "encoding_rs",
  "futures-core",
@@ -2700,6 +2755,7 @@ dependencies = [
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "sync_wrapper",
  "system-configuration",
  "tokio",
  "tokio-rustls",
@@ -2715,16 +2771,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "retain_mut"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c31b5c4033f8fdde8700e4657be2c497e7288f01515be52168c631e2e4d4086"
-
-[[package]]
 name = "revision"
-version = "0.5.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87eb86913082f8976b06d07a59f17df9120e6f38b882cf3fc5a45b4499e224b6"
+checksum = "588784c1d9453cfd2ce1b7aff06c903513677cf0e63779a0a3085ee8a44f5b17"
 dependencies = [
  "bincode",
  "chrono",
@@ -2740,15 +2790,15 @@ dependencies = [
 
 [[package]]
 name = "revision-derive"
-version = "0.5.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf996fc5f61f1dbec35799b5c00c6dda12e8862e8cb782ed24e10d0292e60ed3"
+checksum = "854ff0b6794d4e0aab5e4486870941caefe9f258e63cad2f21b49a6302377c85"
 dependencies = [
  "darling",
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -2768,23 +2818,24 @@ dependencies = [
 
 [[package]]
 name = "ring"
-version = "0.17.7"
+version = "0.17.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
+checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
 dependencies = [
  "cc",
+ "cfg-if",
  "getrandom",
  "libc",
  "spin 0.9.8",
  "untrusted 0.9.0",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rkyv"
-version = "0.7.43"
+version = "0.7.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "527a97cdfef66f65998b5f3b637c26f5a5ec09cc52a3f9932313ac645f4190f5"
+checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0"
 dependencies = [
  "bitvec",
  "bytecheck",
@@ -2800,9 +2851,9 @@ dependencies = [
 
 [[package]]
 name = "rkyv_derive"
-version = "0.7.43"
+version = "0.7.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5c462a1328c8e67e4d6dbad1eb0355dd43e8ab432c6e227a43657f16ade5033"
+checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2810,14 +2861,34 @@ dependencies = [
 ]
 
 [[package]]
+name = "rmp"
+version = "0.8.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4"
+dependencies = [
+ "byteorder",
+ "num-traits",
+ "paste",
+]
+
+[[package]]
+name = "rmpv"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e540282f11751956c82bc5529a7fb71b871b998fbf9cf06c2419b22e1b4350df"
+dependencies = [
+ "num-traits",
+ "rmp",
+]
+
+[[package]]
 name = "roaring"
-version = "0.10.2"
+version = "0.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6106b5cf8587f5834158895e9715a3c6c9716c8aefab57f1f7680917191c7873"
+checksum = "a1c77081a55300e016cb86f2864415b7518741879db925b8d488a0ee0d2da6bf"
 dependencies = [
  "bytemuck",
  "byteorder",
- "retain_mut",
  "serde",
 ]
 
@@ -2860,12 +2931,13 @@ dependencies = [
 
 [[package]]
 name = "rust-ini"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e0698206bcb8882bf2a9ecb4c1e7785db57ff052297085a6efd4fe42302068a"
+checksum = "0d625ed57d8f49af6cfa514c42e1a71fadcff60eb0b1c517ff82fe41aa025b41"
 dependencies = [
  "cfg-if",
  "ordered-multimap",
+ "trim-in-place",
 ]
 
 [[package]]
@@ -2880,9 +2952,9 @@ dependencies = [
 
 [[package]]
 name = "rust_decimal"
-version = "1.33.1"
+version = "1.35.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06676aec5ccb8fc1da723cc8c0f9a46549f21ebb8753d3915c6c41db1e7f1dc4"
+checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a"
 dependencies = [
  "arrayvec",
  "borsh",
@@ -2920,11 +2992,11 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.28"
+version = "0.38.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
+checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "errno",
  "libc",
  "linux-raw-sys",
@@ -2933,12 +3005,12 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.21.10"
+version = "0.21.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
+checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4"
 dependencies = [
  "log",
- "ring 0.17.7",
+ "ring 0.17.8",
  "rustls-webpki",
  "sct",
 ]
@@ -2949,7 +3021,7 @@ version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
 dependencies = [
- "base64",
+ "base64 0.21.7",
 ]
 
 [[package]]
@@ -2958,21 +3030,21 @@ version = "0.101.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
 dependencies = [
- "ring 0.17.7",
+ "ring 0.17.8",
  "untrusted 0.9.0",
 ]
 
 [[package]]
 name = "rustversion"
-version = "1.0.14"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47"
 
 [[package]]
 name = "ryu"
-version = "1.0.16"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
 
 [[package]]
 name = "salsa20"
@@ -3016,7 +3088,7 @@ version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
 dependencies = [
- "ring 0.17.7",
+ "ring 0.17.8",
  "untrusted 0.9.0",
 ]
 
@@ -3028,9 +3100,9 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
 
 [[package]]
 name = "semver"
-version = "1.0.20"
+version = "1.0.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
 dependencies = [
  "serde",
 ]
@@ -3043,31 +3115,31 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73"
 
 [[package]]
 name = "serde"
-version = "1.0.193"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
+checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.193"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
+checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.108"
+version = "1.0.116"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.6",
  "itoa",
  "ryu",
  "serde",
@@ -3087,16 +3159,17 @@ dependencies = [
 
 [[package]]
 name = "serde_with"
-version = "3.4.0"
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
+checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a"
 dependencies = [
- "base64",
+ "base64 0.21.7",
  "chrono",
  "hex",
  "indexmap 1.9.3",
- "indexmap 2.1.0",
+ "indexmap 2.2.6",
  "serde",
+ "serde_derive",
  "serde_json",
  "serde_with_macros",
  "time",
@@ -3104,21 +3177,21 @@ dependencies = [
 
 [[package]]
 name = "serde_with_macros"
-version = "3.4.0"
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788"
+checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655"
 dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "serial_test"
-version = "2.0.0"
+version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d"
+checksum = "953ad9342b3aaca7cb43c45c097dd008d4907070394bd0751a0aa8817e5a018d"
 dependencies = [
  "dashmap",
  "futures",
@@ -3130,13 +3203,13 @@ dependencies = [
 
 [[package]]
 name = "serial_test_derive"
-version = "2.0.0"
+version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f"
+checksum = "b93fb4adc70021ac1b47f7d45e8cc4169baaa7ea58483bc5b721d19a26202212"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -3215,15 +3288,15 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.2"
+version = "1.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 [[package]]
 name = "smol_str"
-version = "0.2.0"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74212e6bbe9a4352329b2f68ba3130c15a3f26fe88ff22dbdc6cdd58fa85e99c"
+checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49"
 dependencies = [
  "serde",
 ]
@@ -3244,7 +3317,7 @@ version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf"
 dependencies = [
- "heck",
+ "heck 0.4.1",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
@@ -3258,12 +3331,12 @@ checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b"
 
 [[package]]
 name = "socket2"
-version = "0.5.5"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3272,7 +3345,7 @@ version = "2.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "61addf9117b11d1f5b4bf6fe94242ba25f59d2d4b2080544b771bd647024fd00"
 dependencies = [
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
  "num-traits",
  "robust",
  "smallvec",
@@ -3305,9 +3378,9 @@ dependencies = [
 
 [[package]]
 name = "sqlparser"
-version = "0.40.0"
+version = "0.45.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c80afe31cdb649e56c0d9bb5503be9166600d68a852c38dd445636d126858e5"
+checksum = "f7bbffee862a796d67959a89859d6b1046bb5016d63e23835ad0da182777bbe0"
 dependencies = [
  "log",
 ]
@@ -3363,6 +3436,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
 name = "subtle"
 version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3370,9 +3449,9 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
 
 [[package]]
 name = "surrealdb"
-version = "1.2.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b4c189541c759c763d4f5859a853afe85773baa0c95891f262425ff422394b0"
+checksum = "6d8bb7301422b4b0945aef848285073fa95c1e1412a0952dbdc50917104c26d2"
 dependencies = [
  "async-channel",
  "bincode",
@@ -3382,19 +3461,20 @@ dependencies = [
  "futures",
  "futures-concurrency",
  "geo 0.27.0",
- "indexmap 2.1.0",
+ "indexmap 2.2.6",
  "once_cell",
  "path-clean",
  "pharos",
  "reqwest",
  "revision",
- "ring 0.17.7",
+ "ring 0.17.8",
  "rust_decimal",
  "rustls",
  "semver",
  "serde",
  "serde_json",
- "surrealdb-core",
+ "surrealdb-core 1.4.2",
+ "surrealdb-core 2.0.0-1.5.0",
  "thiserror",
  "tokio",
  "tokio-tungstenite",
@@ -3410,22 +3490,93 @@ dependencies = [
 
 [[package]]
 name = "surrealdb-core"
-version = "1.2.1"
+version = "1.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a2f403dba761e0e3404f90334f8ff1454f1f308e88c84dd5dbcee52866ff30e"
+dependencies = [
+ "addr",
+ "any_ascii",
+ "argon2",
+ "async-channel",
+ "async-executor",
+ "async-recursion",
+ "base64 0.21.7",
+ "bcrypt",
+ "bincode",
+ "bytes",
+ "cedar-policy",
+ "chrono",
+ "deunicode",
+ "dmp",
+ "fst",
+ "futures",
+ "fuzzy-matcher",
+ "geo 0.27.0",
+ "geo-types",
+ "hex",
+ "ipnet",
+ "lexicmp",
+ "md-5",
+ "nanoid",
+ "nom",
+ "num_cpus",
+ "object_store",
+ "once_cell",
+ "pbkdf2",
+ "pharos",
+ "pin-project-lite",
+ "quick_cache",
+ "radix_trie",
+ "rand",
+ "regex",
+ "revision",
+ "ring 0.17.8",
+ "roaring",
+ "rust-stemmers",
+ "rust_decimal",
+ "scrypt",
+ "semver",
+ "serde",
+ "serde_json",
+ "sha1",
+ "sha2",
+ "snap",
+ "storekey",
+ "surrealdb-derive",
+ "surrealdb-jsonwebtoken",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "trice",
+ "ulid",
+ "url",
+ "uuid",
+ "wasm-bindgen-futures",
+ "wasmtimer",
+ "ws_stream_wasm",
+]
+
+[[package]]
+name = "surrealdb-core"
+version = "2.0.0-1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcf33ccbc2348089fab502d38198f86762fc951ec90413fbd63f9195e76e6e08"
+checksum = "7a7c90233b21c23c669d462c1305693a4cdd6a5c7424654fbd9564564a6b8bf8"
 dependencies = [
  "addr",
+ "ahash 0.8.11",
  "any_ascii",
  "argon2",
  "async-channel",
  "async-executor",
  "async-recursion",
- "base64",
+ "base64 0.21.7",
  "bcrypt",
  "bincode",
  "bytes",
  "cedar-policy",
  "chrono",
+ "ciborium",
+ "dashmap",
  "deunicode",
  "dmp",
  "fst",
@@ -3433,12 +3584,17 @@ dependencies = [
  "fuzzy-matcher",
  "geo 0.27.0",
  "geo-types",
+ "hashbrown 0.14.5",
  "hex",
  "ipnet",
  "lexicmp",
+ "linfa-linalg",
  "md-5",
  "nanoid",
+ "ndarray",
+ "ndarray-stats",
  "nom",
+ "num-traits",
  "num_cpus",
  "object_store",
  "once_cell",
@@ -3448,9 +3604,12 @@ dependencies = [
  "quick_cache",
  "radix_trie",
  "rand",
+ "reblessive",
  "regex",
+ "reqwest",
  "revision",
- "ring 0.17.7",
+ "ring 0.17.8",
+ "rmpv",
  "roaring",
  "rust-stemmers",
  "rust_decimal",
@@ -3492,7 +3651,7 @@ version = "8.3.0-surreal.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "02d4f759c65df8a8cf2d83c99db7fdd3ae5b8fff05fa7fe69a8612f29dd5f99b"
 dependencies = [
- "base64",
+ "base64 0.21.7",
  "getrandom",
  "hmac",
  "pem",
@@ -3507,13 +3666,13 @@ dependencies = [
 
 [[package]]
 name = "surrealdb-migrations"
-version = "1.1.0"
+version = "1.5.0"
 dependencies = [
  "assert_cmd",
  "assert_fs",
  "chrono",
  "chrono-human-duration",
- "clap 4.4.12",
+ "clap",
  "cli-table",
  "color-eyre",
  "convert_case",
@@ -3521,7 +3680,7 @@ dependencies = [
  "dir-diff",
  "fs_extra",
  "include_dir",
- "itertools 0.12.0",
+ "itertools 0.12.1",
  "names",
  "predicates",
  "pretty_assertions",
@@ -3549,9 +3708,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.43"
+version = "2.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee659fb5f3d355364e1f3e5bc10fb82068efbf824a1e9d1c9504244a6469ad53"
+checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3567,10 +3726,16 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+[[package]]
 name = "system-configuration"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3599,13 +3764,12 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
 
 [[package]]
 name = "tempfile"
-version = "3.9.0"
+version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
 dependencies = [
  "cfg-if",
  "fastrand",
- "redox_syscall",
  "rustix",
  "windows-sys 0.52.0",
 ]
@@ -3623,9 +3787,9 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
@@ -3637,36 +3801,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
 
 [[package]]
-name = "textwrap"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
-
-[[package]]
 name = "thiserror"
-version = "1.0.52"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83a48fd946b02c0a526b2e9481c8e2a17755e47039164a86c4070446e3a4614d"
+checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.52"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7fbe9b594d6568a6a1443250a7e67d80b74e1e96f6d1715e1e21cc1888291d3"
+checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "thread_local"
-version = "1.1.7"
+version = "1.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
 dependencies = [
  "cfg-if",
  "once_cell",
@@ -3674,12 +3832,13 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.31"
+version = "0.3.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
 dependencies = [
  "deranged",
  "itoa",
+ "num-conv",
  "powerfmt",
  "serde",
  "time-core",
@@ -3694,10 +3853,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.16"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
 dependencies = [
+ "num-conv",
  "time-core",
 ]
 
@@ -3727,9 +3887,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.35.1"
+version = "1.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
+checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
 dependencies = [
  "backtrace",
  "bytes",
@@ -3750,7 +3910,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -3765,9 +3925,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-stream"
-version = "0.1.14"
+version = "0.1.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
+checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af"
 dependencies = [
  "futures-core",
  "pin-project-lite",
@@ -3776,9 +3936,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-test"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e89b3cbabd3ae862100094ae433e1def582cf86451b4e9bf83aa7ac1d8a7d719"
+checksum = "2468baabc3311435b55dd935f702f42cd1b8abb7e754fb7dfb16bd36aa88f9f7"
 dependencies = [
  "async-stream",
  "bytes",
@@ -3819,17 +3979,17 @@ dependencies = [
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 
 [[package]]
 name = "toml_edit"
-version = "0.20.2"
+version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.6",
  "toml_datetime",
  "winnow",
 ]
@@ -3859,7 +4019,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -3905,6 +4065,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "trim-in-place"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "343e926fc669bc8cde4fa3129ab681c63671bae288b1f1081ceee6d9d37904fc"
+
+[[package]]
 name = "try-lock"
 version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3938,12 +4104,14 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "ulid"
-version = "1.1.0"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e37c4b6cbcc59a8dcd09a6429fbc7890286bcbb79215cea7b38a3c4c0921d93"
+checksum = "34778c17965aa2a08913b57e1f34db9b4a63f5de31768b55bf20d2795f921259"
 dependencies = [
+ "getrandom",
  "rand",
  "serde",
+ "web-time",
 ]
 
 [[package]]
@@ -3957,9 +4125,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.14"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-ident"
@@ -3969,24 +4137,24 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
 name = "unicode-script"
-version = "0.5.5"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc"
+checksum = "ad8d71f5726e5f285a935e9fe8edfd53f0491eb6e9a5774097fdabee7cd8c9cd"
 
 [[package]]
 name = "unicode-security"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ef5756b3097992b934b06608c69f48448a0fbe804bb1e72b982f6d7983e9e63"
+checksum = "ee9e13753df674873f3c4693b240ae5c03245ddc157dfccf7c26db9329af3a11"
 dependencies = [
  "unicode-normalization",
  "unicode-script",
@@ -3994,9 +4162,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.10.1"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
 
 [[package]]
 name = "unicode-width"
@@ -4053,9 +4221,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.6.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
 dependencies = [
  "atomic",
  "getrandom",
@@ -4086,9 +4254,9 @@ dependencies = [
 
 [[package]]
 name = "walkdir"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -4111,9 +4279,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -4121,24 +4289,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.39"
+version = "0.4.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -4148,9 +4316,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -4158,28 +4326,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "wasm-streams"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7"
+checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129"
 dependencies = [
  "futures-util",
  "js-sys",
@@ -4203,9 +4371,19 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.66"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "web-time"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -4213,9 +4391,9 @@ dependencies = [
 
 [[package]]
 name = "webpki-roots"
-version = "0.25.3"
+version = "0.25.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
+checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
 
 [[package]]
 name = "winapi"
@@ -4254,7 +4432,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -4272,7 +4450,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -4292,17 +4470,17 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
 ]
 
 [[package]]
@@ -4313,9 +4491,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -4325,9 +4503,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -4337,9 +4515,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -4349,9 +4527,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -4361,9 +4539,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -4373,9 +4551,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -4385,15 +4563,15 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
 
 [[package]]
 name = "winnow"
-version = "0.5.31"
+version = "0.5.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97a4882e6b134d6c28953a387571f1acdd3496830d5e36c5e3a1075580ea641c"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
 dependencies = [
  "memchr",
 ]
@@ -4459,7 +4637,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.43",
+ "syn 2.0.58",
 ]
 
 [[package]]
diff --git a/pkgs/development/tools/database/surrealdb-migrations/default.nix b/pkgs/development/tools/database/surrealdb-migrations/default.nix
index 8ea134184326b..22c39698dfed7 100644
--- a/pkgs/development/tools/database/surrealdb-migrations/default.nix
+++ b/pkgs/development/tools/database/surrealdb-migrations/default.nix
@@ -10,7 +10,7 @@
 
 let
   pname = "surrealdb-migrations";
-  version = "1.1.0";
+  version = "1.5.0";
 in
 rustPlatform.buildRustPackage rec {
   inherit pname version;
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
     owner = "Odonno";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-UnRf9HdEcKH0cOWKJIjgjNBlSVjXyk27bwB+4ftzAcs=";
+    hash = "sha256-x5WyaVHLVFCHWPqyEuaVSbeIaGXDB0o7h776udcC4DM=";
   };
 
   cargoLock = {
@@ -59,7 +59,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "An awesome SurrealDB migration tool, with a user-friendly CLI and a versatile Rust library that enables seamless integration into any project.";
+    description = "Awesome SurrealDB migration tool, with a user-friendly CLI and a versatile Rust library that enables seamless integration into any project";
     homepage = "https://crates.io/crates/surrealdb-migrations";
     mainProgram = "surrealdb-migrations";
     license = licenses.mit;
diff --git a/pkgs/development/tools/database/termdbms/default.nix b/pkgs/development/tools/database/termdbms/default.nix
index 4cfc905c6c158..06521cde30a91 100644
--- a/pkgs/development/tools/database/termdbms/default.nix
+++ b/pkgs/development/tools/database/termdbms/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/mathaou/termdbms/";
-    description = "A TUI for viewing and editing database files";
+    description = "TUI for viewing and editing database files";
     license = licenses.mit;
     maintainers = with maintainers; [ izorkin ];
     mainProgram = "sqlite3-viewer";
diff --git a/pkgs/development/tools/database/timescaledb-tune/default.nix b/pkgs/development/tools/database/timescaledb-tune/default.nix
index 88c1bc0f63888..121ccee544ad0 100644
--- a/pkgs/development/tools/database/timescaledb-tune/default.nix
+++ b/pkgs/development/tools/database/timescaledb-tune/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
-    description = "A tool for tuning your TimescaleDB for better performance";
+    description = "Tool for tuning your TimescaleDB for better performance";
     mainProgram = "timescaledb-tune";
     homepage = "https://github.com/timescale/timescaledb-tune";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/database/trino-cli/default.nix b/pkgs/development/tools/database/trino-cli/default.nix
index b43fbc180194e..e52881c6f5f5b 100644
--- a/pkgs/development/tools/database/trino-cli/default.nix
+++ b/pkgs/development/tools/database/trino-cli/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "The Trino CLI provides a terminal-based, interactive shell for running queries";
+    description = "Trino CLI provides a terminal-based, interactive shell for running queries";
     mainProgram = "trino";
     homepage = "https://github.com/trinodb/trino";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/database/vitess/default.nix b/pkgs/development/tools/database/vitess/default.nix
index 2d107cc56246a..6f21999ab5d84 100644
--- a/pkgs/development/tools/database/vitess/default.nix
+++ b/pkgs/development/tools/database/vitess/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "vitess";
-  version = "19.0.3";
+  version = "19.0.4";
 
   src = fetchFromGitHub {
     owner = "vitessio";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Zy54nZCnwyZ1JNPvaKi0/bRt5g5ucPANwer/3pl4dGU=";
+    hash = "sha256-rP2a/t+5FhGIj9T6CQodMp9YXYf3fL5oBdFpAn7e7hw=";
   };
 
-  vendorHash = "sha256-QUzBxYEvxVzv4c8tKiFb+4NLy8RsXh0QTn9twfstMtw=";
+  vendorHash = "sha256-BlHd5GQJwdntmvVti+Jvfw65LrYM+hjwdvQ0duKk5d8=";
 
   buildInputs = [ sqlite ];
 
@@ -23,7 +23,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://vitess.io/";
     changelog = "https://github.com/vitessio/vitess/releases/tag/v${version}";
-    description = "A database clustering system for horizontal scaling of MySQL";
+    description = "Database clustering system for horizontal scaling of MySQL";
     license = licenses.asl20;
     maintainers = with maintainers; [ urandom ];
   };
diff --git a/pkgs/development/tools/database/webdis/default.nix b/pkgs/development/tools/database/webdis/default.nix
index d9f23d93d4a5e..02cab4c36570f 100644
--- a/pkgs/development/tools/database/webdis/default.nix
+++ b/pkgs/development/tools/database/webdis/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   meta = {
-    description = "A Redis HTTP interface with JSON output";
+    description = "Redis HTTP interface with JSON output";
     mainProgram = "webdis";
     homepage = "https://webd.is/";
     license = lib.licenses.bsd2;
diff --git a/pkgs/development/tools/dbus-test-runner/default.nix b/pkgs/development/tools/dbus-test-runner/default.nix
index f9ccd41f6835d..15f219ac9b1d6 100644
--- a/pkgs/development/tools/dbus-test-runner/default.nix
+++ b/pkgs/development/tools/dbus-test-runner/default.nix
@@ -68,7 +68,7 @@ stdenv.mkDerivation (finalAttrs: {
   passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
 
   meta = with lib; {
-    description = "A small little utility to run a couple of executables under a new DBus session for testing";
+    description = "Small little utility to run a couple of executables under a new DBus session for testing";
     mainProgram = "dbus-test-runner";
     homepage = "https://launchpad.net/dbus-test-runner";
     license = licenses.gpl3Only;
diff --git a/pkgs/development/tools/devbox/default.nix b/pkgs/development/tools/devbox/default.nix
index 31dcb4b06efa5..7680bb1d1ff7a 100644
--- a/pkgs/development/tools/devbox/default.nix
+++ b/pkgs/development/tools/devbox/default.nix
@@ -5,13 +5,13 @@
 }:
 buildGoModule rec {
   pname = "devbox";
-  version = "0.10.6";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "jetpack-io";
     repo = pname;
     rev = version;
-    hash = "sha256-E2kJiWuHY+rHyAR6p/NVbONys8RonpxvDHUTrx6ZSkk=";
+    hash = "sha256-v2EBN9zp6ssY0hWJQnhsIlRU3L7oOad46bvDUILGIv0=";
   };
 
   ldflags = [
@@ -23,7 +23,7 @@ buildGoModule rec {
   # integration tests want file system access
   doCheck = false;
 
-  vendorHash = "sha256-bSCgjSXdPOWgftlInl3MailtiXslLH/TZw95FiEnCxQ=";
+  vendorHash = "sha256-efXYFVs+W6jkShWrU21WCiQqfaNX/9HLD8CxesbkR0s=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -35,7 +35,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "Instant, easy, predictable shells and containers.";
+    description = "Instant, easy, predictable shells and containers";
     homepage = "https://www.jetpack.io/devbox";
     license = licenses.asl20;
     maintainers = with maintainers; [ urandom lagoja ];
diff --git a/pkgs/development/tools/devd/default.nix b/pkgs/development/tools/devd/default.nix
index 5d2e0a83b4415..271f9048db1dc 100644
--- a/pkgs/development/tools/devd/default.nix
+++ b/pkgs/development/tools/devd/default.nix
@@ -26,7 +26,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
-    description = "A local webserver for developers";
+    description = "Local webserver for developers";
     mainProgram = "devd";
     homepage = "https://github.com/cortesi/devd";
     license = licenses.mit;
diff --git a/pkgs/development/tools/devpi-client/default.nix b/pkgs/development/tools/devpi-client/default.nix
index 66d84e5a3b127..ea60c216a8f55 100644
--- a/pkgs/development/tools/devpi-client/default.nix
+++ b/pkgs/development/tools/devpi-client/default.nix
@@ -1,37 +1,31 @@
-{ lib
-, devpi-server
-, git
-, glibcLocales
-, python3
-, fetchPypi
+{
+  lib,
+  devpi-server,
+  git,
+  glibcLocales,
+  python3,
+  fetchPypi,
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "devpi-client";
-  version = "7.0.2";
+  version = "7.0.3";
   pyproject = true;
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-oOX5Z8WXgNJYsgXqHE2CsXdDnA3XmDF6axD1D318bPQ=";
+    pname = "devpi_client";
+    inherit version;
+    hash = "sha256-5aF6EIFnhfywDeAfWSN+eZUpaO6diPCP5QHT11Y/IQI=";
   };
 
-  postPatch = ''
-    substituteInPlace tox.ini \
-      --replace "--flake8" ""
-  '';
-
-  nativeBuildInputs = with python3.pkgs; [
+  build-system = with python3.pkgs; [
     setuptools
     setuptools-changelog-shortener
-    wheel
   ];
 
-  buildInputs = [
-    glibcLocales
-  ];
+  buildInputs = [ glibcLocales ];
 
-  propagatedBuildInputs = with python3.pkgs; [
+  dependencies = with python3.pkgs; [
     build
     check-manifest
     devpi-common
@@ -41,19 +35,21 @@ python3.pkgs.buildPythonApplication rec {
     platformdirs
   ];
 
-  nativeCheckInputs = [
-    devpi-server
-    git
-  ] ++ (with python3.pkgs; [
-    mercurial
-    mock
-    pypitoken
-    pytestCheckHook
-    sphinx
-    virtualenv
-    webtest
-    wheel
-  ]);
+  nativeCheckInputs =
+    [
+      devpi-server
+      git
+    ]
+    ++ (with python3.pkgs; [
+      mercurial
+      mock
+      pypitoken
+      pytestCheckHook
+      sphinx
+      virtualenv
+      webtest
+      wheel
+    ]);
 
   preCheck = ''
     export HOME=$(mktemp -d);
@@ -68,16 +64,17 @@ python3.pkgs.buildPythonApplication rec {
 
   __darwinAllowLocalNetworking = true;
 
-  pythonImportsCheck = [
-    "devpi"
-  ];
+  pythonImportsCheck = [ "devpi" ];
 
   meta = with lib; {
     description = "Client for devpi, a pypi index server and packaging meta tool";
-    mainProgram = "devpi";
     homepage = "http://doc.devpi.net";
     changelog = "https://github.com/devpi/devpi/blob/client-${version}/client/CHANGELOG";
     license = licenses.mit;
-    maintainers = with maintainers; [ lewo makefu ];
+    maintainers = with maintainers; [
+      lewo
+      makefu
+    ];
+    mainProgram = "devpi";
   };
 }
diff --git a/pkgs/development/tools/devpi-server/default.nix b/pkgs/development/tools/devpi-server/default.nix
index 0923182afa4f3..c1dfc48419311 100644
--- a/pkgs/development/tools/devpi-server/default.nix
+++ b/pkgs/development/tools/devpi-server/default.nix
@@ -23,6 +23,7 @@
 , webtest
 , testers
 , devpi-server
+, nixosTests
 }:
 
 
@@ -108,8 +109,11 @@ buildPythonApplication rec {
     "devpi_server"
   ];
 
-  passthru.tests.version = testers.testVersion {
-    package = devpi-server;
+  passthru.tests = {
+    devpi-server = nixosTests.devpi-server;
+    version = testers.testVersion {
+      package = devpi-server;
+    };
   };
 
   meta = with lib;{
diff --git a/pkgs/development/tools/devpod/default.nix b/pkgs/development/tools/devpod/default.nix
index 6b66869828d10..2a1133bce7749 100644
--- a/pkgs/development/tools/devpod/default.nix
+++ b/pkgs/development/tools/devpod/default.nix
@@ -23,13 +23,13 @@
 
 let
   pname = "devpod";
-  version = "0.5.4";
+  version = "0.5.12";
 
   src = fetchFromGitHub {
     owner = "loft-sh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BXr+2uia5skNRpdo8T+0uOVdh6WmWeC42PGNSURJhas=";
+    sha256 = "sha256-5JdA5isU4TNqOX8b2mLHLfVBkLNkh6SdaRUXdZHjEM0=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/devtodo/default.nix b/pkgs/development/tools/devtodo/default.nix
index 34fdd2c794e56..1cc83d7fd9797 100644
--- a/pkgs/development/tools/devtodo/default.nix
+++ b/pkgs/development/tools/devtodo/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://swapoff.org/devtodo1.html";
-    description = "A hierarchical command-line task manager";
+    description = "Hierarchical command-line task manager";
     license = licenses.gpl2;
     maintainers = [ maintainers.woffs ];
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/dive/default.nix b/pkgs/development/tools/dive/default.nix
index 299be547ce275..a29e3a23a26b0 100644
--- a/pkgs/development/tools/dive/default.nix
+++ b/pkgs/development/tools/dive/default.nix
@@ -27,15 +27,22 @@ buildGoModule rec {
   buildInputs = lib.optionals stdenv.isLinux [ btrfs-progs gpgme lvm2 ];
 
   patches = [
+    # fix scrolling
+    # See https://github.com/wagoodman/dive/pull/447
+    (fetchpatch {
+      name = "fix-scrolling.patch";
+      url = "https://github.com/wagoodman/dive/pull/473/commits/a885fa6e68b3763d52de20603ee1b9cd8949276f.patch";
+      hash = "sha256-6gTWfyvK19xDqc7Ah33ewgz/WQRcQHLYwerrwUtRpJc=";
+    })
     (fetchpatch {
       name = "add-scrolling-layers.patch";
-      url = "https://github.com/wagoodman/dive/pull/478/commits/b7da0f90880ce5e9d3bc2d0f269aadac6ee63c49.patch";
+      url = "https://github.com/wagoodman/dive/pull/473/commits/840653158e235bdd59b4c4621cf282ce6499c714.patch";
       hash = "sha256-dYqg5JpWKOzy3hVjIVCHA2vmKCtCgc8W+oHEzuGpyxc=";
     })
     (fetchpatch {
       name = "fix-render-update.patch";
-      url = "https://github.com/wagoodman/dive/pull/478/commits/326fb0d8c9094ac068a29fecd4f103783199392c.patch";
-      hash = "sha256-NC74MqHVChv/Z5hHX8ds3FI+tC+yyBpXvZKSFG3RyC0=";
+      url = "https://github.com/wagoodman/dive/pull/473/commits/36177a9154eebe9e3ae9461a9e6f6b368f7974e1.patch";
+      hash = "sha256-rSeEYxUaYlEZGv+NWYK+nATBYS4P2swqjC3HimHyqNI=";
     })
   ];
 
@@ -43,7 +50,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
-    description = "A tool for exploring each layer in a docker image";
+    description = "Tool for exploring each layer in a docker image";
     mainProgram = "dive";
     homepage = "https://github.com/wagoodman/dive";
     changelog = "https://github.com/wagoodman/dive/releases/tag/v${version}";
diff --git a/pkgs/development/tools/djhtml/default.nix b/pkgs/development/tools/djhtml/default.nix
index 4e4342f36fb67..5d654b58a1ef6 100644
--- a/pkgs/development/tools/djhtml/default.nix
+++ b/pkgs/development/tools/djhtml/default.nix
@@ -23,6 +23,6 @@ buildPythonApplication rec {
     homepage = "https://github.com/rtts/djhtml";
     description = "Django/Jinja template indenter";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ thubrecht ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/djlint/default.nix b/pkgs/development/tools/djlint/default.nix
index d84afa203e5b3..07af36e98ceed 100644
--- a/pkgs/development/tools/djlint/default.nix
+++ b/pkgs/development/tools/djlint/default.nix
@@ -17,7 +17,6 @@ python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = with python3.pkgs; [
     poetry-core
-    pythonRelaxDepsHook
   ];
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index 496d25ca3d2cd..2e4bb56d0f256 100644
--- a/pkgs/development/tools/doctl/default.nix
+++ b/pkgs/development/tools/doctl/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "doctl";
-  version = "1.105.0";
+  version = "1.107.0";
 
   vendorHash = null;
 
@@ -31,11 +31,11 @@ buildGoModule rec {
     owner = "digitalocean";
     repo = "doctl";
     rev = "v${version}";
-    sha256 = "sha256-b7pks3a2ApR32tc06HZ9hG2MoZKVoWwCBATtcV1+WBo=";
+    sha256 = "sha256-svwFIM1lJI60bdmzZS/QZSzy30HtOf498GgnqLFGKAQ=";
   };
 
   meta = with lib; {
-    description = "A command line tool for DigitalOcean services";
+    description = "Command line tool for DigitalOcean services";
     mainProgram = "doctl";
     homepage = "https://github.com/digitalocean/doctl";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/documentation/antora/default.nix b/pkgs/development/tools/documentation/antora/default.nix
index 34625022df6bf..de28518259c86 100644
--- a/pkgs/development/tools/documentation/antora/default.nix
+++ b/pkgs/development/tools/documentation/antora/default.nix
@@ -25,7 +25,7 @@ buildNpmPackage rec {
   '';
 
   meta = with lib; {
-    description = "A modular documentation site generator. Designed for users of Asciidoctor.";
+    description = "Modular documentation site generator. Designed for users of Asciidoctor";
     mainProgram = "antora";
     homepage = "https://antora.org";
     license = licenses.mpl20;
diff --git a/pkgs/development/tools/documentation/gi-docgen/default.nix b/pkgs/development/tools/documentation/gi-docgen/default.nix
index b2652f6ca9fd5..9d5da739745f5 100644
--- a/pkgs/development/tools/documentation/gi-docgen/default.nix
+++ b/pkgs/development/tools/documentation/gi-docgen/default.nix
@@ -8,13 +8,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gi-docgen";
-  version = "2023.3";
+  version = "2024.1";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gi-docgen/${lib.versions.major version}/gi-docgen-${version}.tar.xz";
-    hash = "sha256-TesfCXc/cGJZrGUgUNp7PuWYcbw/1c+3foEdt0mNyOc=";
+    hash = "sha256-hwx3+WIEYszknjVUKkLcFhL8hYcz6D274kjFNUWK7B4=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/development/tools/dprint/default.nix b/pkgs/development/tools/dprint/default.nix
index f762a1e9afe40..e2d35dd403d55 100644
--- a/pkgs/development/tools/dprint/default.nix
+++ b/pkgs/development/tools/dprint/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dprint";
-  version = "0.45.1";
+  version = "0.46.3";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-dVtUUQ9AUQ85vsFwDb3xnR3UWxvSDMosC8QPW8AGHf4=";
+    sha256 = "sha256-IyhKxCqLyboEZINalI6bd///sUxWvmWlQVrzMA2sNdU=";
   };
 
-  cargoHash = "sha256-NXofEGJ1Sn7xnn8xxD9ZXBjoG/ZJgWvP0vCAJiwxK38=";
+  cargoHash = "sha256-46t6Y2UuRCAnvOhEPLgYN+fHHtJYxuflRT3DClLTDQk=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreFoundation Security ];
 
diff --git a/pkgs/development/tools/drip/default.nix b/pkgs/development/tools/drip/default.nix
index 2724e41e8e616..30684d20252f6 100644
--- a/pkgs/development/tools/drip/default.nix
+++ b/pkgs/development/tools/drip/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A launcher for the Java Virtual Machine intended to be a drop-in replacement for the java command, only faster";
+    description = "Launcher for the Java Virtual Machine intended to be a drop-in replacement for the java command, only faster";
     license = licenses.epl10;
     homepage = "https://github.com/ninjudd/drip";
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/dum/default.nix b/pkgs/development/tools/dum/default.nix
index 85b89979960dc..6a68c502d9680 100644
--- a/pkgs/development/tools/dum/default.nix
+++ b/pkgs/development/tools/dum/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-aMx4xfWYiiz5TY/CVCogZ3WNR6md77jb8RKhhVwqeto=";
 
   meta = with lib; {
-    description = "An npm scripts runner written in Rust";
+    description = "Npm scripts runner written in Rust";
     mainProgram = "dum";
     homepage = "https://github.com/egoist/dum";
     changelog = "https://github.com/egoist/dum/blob/v${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/dump_syms/default.nix b/pkgs/development/tools/dump_syms/default.nix
index 67454a7382782..f29473ef85e77 100644
--- a/pkgs/development/tools/dump_syms/default.nix
+++ b/pkgs/development/tools/dump_syms/default.nix
@@ -17,7 +17,7 @@
 
 let
   pname = "dump_syms";
-  version = "2.3.1";
+  version = "2.3.3";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -26,10 +26,10 @@ rustPlatform.buildRustPackage {
     owner = "mozilla";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-mSup3AMYsPu/Az6QXhdCFSxGcIpel4zNN0g/95gPDS0=";
+    hash = "sha256-pZlWA7LZeMb+ZhnfQh9MzvDDlre1kkPc6aSVNZcVi/w=";
   };
 
-  cargoSha256 = "sha256-INzCyF/tvCp4L6Btrw8AGTBAgdFiBlywzO3+SSE4beI=";
+  cargoSha256 = "sha256-srphb7jFSJB08hSShk3f5QYPoYu8UwbUzkzn0zpMqyg=";
 
   nativeBuildInputs = [
     pkg-config
@@ -54,7 +54,7 @@ rustPlatform.buildRustPackage {
   };
 
   meta = with lib; {
-    changelog = "https://github.com/mozilla/dump_syms/releases/tag/v${version}";
+    changelog = "https://github.com/mozilla/dump_syms/blob/v${version}/CHANGELOG.md";
     description = "Command-line utility for parsing the debugging information the compiler provides in ELF or stand-alone PDB files";
     mainProgram = "dump_syms";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/dyff/default.nix b/pkgs/development/tools/dyff/default.nix
index 7557af0d97357..a4d29757aea51 100644
--- a/pkgs/development/tools/dyff/default.nix
+++ b/pkgs/development/tools/dyff/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dyff";
-  version = "1.7.1";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "homeport";
     repo = "dyff";
     rev = "v${version}";
-    sha256 = "sha256-4jW8KJqdhrx79Q5ioyMGOlmLosTEkEIrdBwMjfiIcsY=";
+    sha256 = "sha256-RRLIogNOvbXylmdR59anMVSYCILdVr0Xeot21HqXlXU=";
   };
 
-  vendorHash = "sha256-JhjngBZK3vWlKzCCkTWJf/VrBXUW6T4FcUivn5CMBjE=";
+  vendorHash = "sha256-BLwdNBthYTMSNDcT5Cf8IcAr4uUmpewLdZRgIvq5htE=";
 
   subPackages = [
     "cmd/dyff"
@@ -41,7 +41,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "A diff tool for YAML files, and sometimes JSON";
+    description = "Diff tool for YAML files, and sometimes JSON";
     mainProgram = "dyff";
     longDescription = ''
       dyff is inspired by the way the old BOSH v1 deployment output reported
diff --git a/pkgs/development/tools/earthly/default.nix b/pkgs/development/tools/earthly/default.nix
index abc665d25c509..8dabbd7dfade2 100644
--- a/pkgs/development/tools/earthly/default.nix
+++ b/pkgs/development/tools/earthly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "earthly";
-  version = "0.8.9";
+  version = "0.8.14";
 
   src = fetchFromGitHub {
     owner = "earthly";
     repo = "earthly";
     rev = "v${version}";
-    hash = "sha256-bybWd+7+bbzxg2cXvat9lOZm+JNHaB/MsimAgbpLwuE=";
+    hash = "sha256-G9AvJMrgb71KxOaYScYOVuYSwubLlSd6a9KhzA8DKlA=";
   };
 
-  vendorHash = "sha256-66xN4uUeEFHpI/pAP7akG4YQhbY7ylu8AVOJnx60c7s=";
+  vendorHash = "sha256-Uy/h6TBmDYHSewq3TbchLe+AtdvO2xNSp9pVDglRKVc=";
   subPackages = [ "cmd/earthly" "cmd/debugger" ];
 
   CGO_ENABLED = 0;
diff --git a/pkgs/development/tools/eask/default.nix b/pkgs/development/tools/eask/default.nix
deleted file mode 100644
index 8aeac6fe1c2d4..0000000000000
--- a/pkgs/development/tools/eask/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib
-, buildNpmPackage
-, fetchFromGitHub
-}:
-
-buildNpmPackage rec {
-  pname = "eask";
-  version = "0.9.5";
-
-  src = fetchFromGitHub {
-    owner = "emacs-eask";
-    repo = "cli";
-    rev = version;
-    hash = "sha256-olVR+TTDfSnQ+eJEb5qbNq96KnRr1WYx74/nC275+gI=";
-  };
-
-  npmDepsHash = "sha256-LqJ6cJxrQ3uHuQqXHQ7pfhTlndqFuqoMee9CNSteCP4=";
-
-  dontBuild = true;
-
-  meta = {
-    changelog = "https://github.com/emacs-eask/cli/blob/${src.rev}/CHANGELOG.md";
-    description = "CLI for building, runing, testing, and managing your Emacs Lisp dependencies";
-    homepage = "https://emacs-eask.github.io/";
-    license = lib.licenses.gpl3Plus;
-    mainProgram = "eask";
-    maintainers = with lib.maintainers; [ jcs090218 ];
-  };
-}
diff --git a/pkgs/development/tools/eclint/default.nix b/pkgs/development/tools/eclint/default.nix
deleted file mode 100644
index 3f449489743a1..0000000000000
--- a/pkgs/development/tools/eclint/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitLab
-}:
-
-buildGoModule
-rec {
-  pname = "eclint";
-  version = "0.5.0";
-
-  src = fetchFromGitLab {
-    owner = "greut";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-x0dBiRHaDxKrTCR2RfP2/bpBo6xewu8FX7Bv4ugaUAY=";
-  };
-
-  vendorHash = "sha256-aNQuALDe37lsmTGpClIBOQJlL0NFSAZCgcmTjx0kP+U=";
-
-  ldflags = [ "-X main.version=${version}" ];
-
-  meta = with lib; {
-    homepage = "https://gitlab.com/greut/eclint";
-    description = "EditorConfig linter written in Go";
-    mainProgram = "eclint";
-    license = licenses.mit;
-    maintainers = with maintainers; [ lucperkins ];
-  };
-}
diff --git a/pkgs/development/tools/ejs/default.nix b/pkgs/development/tools/ejs/default.nix
index 5392a9c137a2c..b9242836b62be 100644
--- a/pkgs/development/tools/ejs/default.nix
+++ b/pkgs/development/tools/ejs/default.nix
@@ -29,6 +29,6 @@ buildNpmPackage rec {
     homepage = "http://ejs.co";
     license = lib.licenses.asl20;
     mainProgram = "ejs";
-    maintainers = with lib.maintainers; [ wolfangaukang ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/ejson/default.nix b/pkgs/development/tools/ejson/default.nix
index c6ec3e3b6b25a..42e5e6cb33a52 100644
--- a/pkgs/development/tools/ejson/default.nix
+++ b/pkgs/development/tools/ejson/default.nix
@@ -35,7 +35,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "A small library to manage encrypted secrets using asymmetric encryption";
+    description = "Small library to manage encrypted secrets using asymmetric encryption";
     mainProgram = "ejson";
     license = licenses.mit;
     homepage = "https://github.com/Shopify/ejson";
diff --git a/pkgs/development/tools/electron-fiddle/default.nix b/pkgs/development/tools/electron-fiddle/default.nix
index 16d96297c544f..2588a85de2e83 100644
--- a/pkgs/development/tools/electron-fiddle/default.nix
+++ b/pkgs/development/tools/electron-fiddle/default.nix
@@ -167,7 +167,7 @@ buildFHSEnv {
     ];
 
   meta = with lib; {
-    description = "The easiest way to get started with Electron";
+    description = "Easiest way to get started with Electron";
     homepage = "https://www.electronjs.org/fiddle";
     license = licenses.mit;
     maintainers = with maintainers; [ andersk ];
diff --git a/pkgs/development/tools/electron/binary/default.nix b/pkgs/development/tools/electron/binary/default.nix
index 41b3f1022e065..b884428cf8b73 100644
--- a/pkgs/development/tools/electron/binary/default.nix
+++ b/pkgs/development/tools/electron/binary/default.nix
@@ -1,44 +1,11 @@
-{ callPackage }:
+{ lib, callPackage }:
 
 let
   mkElectron = callPackage ./generic.nix { };
+  infoJson = builtins.fromJSON (builtins.readFile ./info.json);
 in
-rec {
-  electron-bin = electron_29-bin;
-
-  electron_24-bin = mkElectron "24.8.6" {
-    armv7l-linux = "8f46901667a904a62df7043991f20dc1c2a00370a42159976855458562cda8fc";
-    aarch64-linux = "599e78a3a8127828ea3fa444927e7e51035dba9811ce0d81d59ad9b0bd02b4f6";
-    x86_64-linux = "61e87bbd361da101c6a8363cc9c1f8b8b51db61b076cf495d3f4424303265a96";
-    x86_64-darwin = "067ce05d628b44e1393369c506268915081ac9d96c0973d367262c71dcd91078";
-    aarch64-darwin = "d9093e6928b2247336b3f0811e4f66c4ae50a719ec9399c393ac9556c8e56cee";
-    headers = "009p1ffh2cyn98fcmprrjzq79jysp7h565v4f54wvjxjsq2nkr97";
-  };
-
-  electron_27-bin = mkElectron "27.3.11" {
-    armv7l-linux = "012127a3edf79e0e4623a08e853286e1cba512438a0414b1ab19b75d929c1cf2";
-    aarch64-linux = "ddbfcd5e04450178ca4e3113f776893454822af6757761adc792692f7978e0df";
-    x86_64-linux = "e3a6f55e54e7a623bba1a15016541248408eef5a19ab82a59d19c807aab14563";
-    x86_64-darwin = "357e70a1c8848d4ac7655346bec98dd18a7c0cee82452a7edf76142017779049";
-    aarch64-darwin = "a687b199fcb9890f43af90ac8a4d19dc7b15522394de89e42abd5f5c6b735804";
-    headers = "0vrjdvqllfyz09sw2y078mds1di219hnmska8bw8ni7j35wxr2br";
-  };
-
-  electron_28-bin = mkElectron "28.3.1" {
-    armv7l-linux = "2e22fbab2376a9bbeb8cbdd7d9bb3ca69fda6adeafa2b22ffb67157fcfcdb6ff";
-    aarch64-linux = "3e46c3076041386213f7b9ebc12335889fbad5822ffc306cf7514abb88de8512";
-    x86_64-linux = "e3be93e1a15d61f72e074aee021e12f20465b81f51b8c1170bd9072d7d695c3a";
-    x86_64-darwin = "bd8a220fd906625ad4a8edf92e80e8eff89d51f40c22168e05090daa7c12bd66";
-    aarch64-darwin = "53fc040cd09e955e013254f784cf51712029ded4a574559cf5fa19c9a911d75d";
-    headers = "07iv5fh0yxv17c1akb2j4ab5xhv29d9zsgi6dm2r0n4pnf72wxwr";
-  };
-
-  electron_29-bin = mkElectron "29.3.0" {
-    armv7l-linux = "51a8b2d67ae58b01919d6eb9e8eef255cd4bb3475b3acaf58ed1b8dc2448f206";
-    aarch64-linux = "bd74743eb03a77f40b65739b9ca751af264c6f428e16728d7e0332a4c94789a9";
-    x86_64-linux = "7274fe2bbb2e3b71f8fc084921e22d10e529220d380a354827b274f9567261da";
-    x86_64-darwin = "88873a315ddd2a70b82e83f2cb7495c0d9d7c7fb5c9ad14fcfee16af4ab89d5e";
-    aarch64-darwin = "b3145bbd45007918c2365b1df59a35b4d0636222cd43eea4803580de36b9a17d";
-    headers = "1smvjlgdp3ailmh0fvxj96p7cnvls19w7kdwn62v1s3xpl84b915";
-  };
-}
+lib.mapAttrs' (majorVersion: info:
+  lib.nameValuePair
+    "electron_${majorVersion}-bin"
+    (mkElectron info.version info.hashes)
+) infoJson
diff --git a/pkgs/development/tools/electron/binary/generic.nix b/pkgs/development/tools/electron/binary/generic.nix
index f9e493e6b7cbd..a11baed163da2 100644
--- a/pkgs/development/tools/electron/binary/generic.nix
+++ b/pkgs/development/tools/electron/binary/generic.nix
@@ -42,7 +42,7 @@ let
       ++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ]
       ++ optionals (versionOlder version "19.0.0") [ "i686-linux" ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    knownVulnerabilities = optional (versionOlder version "27.0.0") "Electron version ${version} is EOL";
+    knownVulnerabilities = optional (versionOlder version "29.0.0") "Electron version ${version} is EOL";
   };
 
   fetcher = vers: tag: hash: fetchurl {
diff --git a/pkgs/development/tools/electron/binary/info.json b/pkgs/development/tools/electron/binary/info.json
new file mode 100644
index 0000000000000..d5760841b2e24
--- /dev/null
+++ b/pkgs/development/tools/electron/binary/info.json
@@ -0,0 +1,57 @@
+{
+    "24": {
+        "hashes": {
+            "aarch64-darwin": "d9093e6928b2247336b3f0811e4f66c4ae50a719ec9399c393ac9556c8e56cee",
+            "aarch64-linux": "599e78a3a8127828ea3fa444927e7e51035dba9811ce0d81d59ad9b0bd02b4f6",
+            "armv7l-linux": "8f46901667a904a62df7043991f20dc1c2a00370a42159976855458562cda8fc",
+            "headers": "009p1ffh2cyn98fcmprrjzq79jysp7h565v4f54wvjxjsq2nkr97",
+            "x86_64-darwin": "067ce05d628b44e1393369c506268915081ac9d96c0973d367262c71dcd91078",
+            "x86_64-linux": "61e87bbd361da101c6a8363cc9c1f8b8b51db61b076cf495d3f4424303265a96"
+        },
+        "version": "24.8.6"
+    },
+    "27": {
+        "hashes": {
+            "aarch64-darwin": "a687b199fcb9890f43af90ac8a4d19dc7b15522394de89e42abd5f5c6b735804",
+            "aarch64-linux": "ddbfcd5e04450178ca4e3113f776893454822af6757761adc792692f7978e0df",
+            "armv7l-linux": "012127a3edf79e0e4623a08e853286e1cba512438a0414b1ab19b75d929c1cf2",
+            "headers": "0vrjdvqllfyz09sw2y078mds1di219hnmska8bw8ni7j35wxr2br",
+            "x86_64-darwin": "357e70a1c8848d4ac7655346bec98dd18a7c0cee82452a7edf76142017779049",
+            "x86_64-linux": "e3a6f55e54e7a623bba1a15016541248408eef5a19ab82a59d19c807aab14563"
+        },
+        "version": "27.3.11"
+    },
+    "28": {
+        "hashes": {
+            "aarch64-darwin": "c310ab098d8849c4aa05f05b1c8521031241a046e023a911f964fd1db31c64c9",
+            "aarch64-linux": "f77107266581a6b9880757876518df1c4bf6eeff5c193bb5de0a8f6c9902bd1f",
+            "armv7l-linux": "384d8b43f52b5350a438031ad12980418fc244b4b0aecfa5f7dcc3d6f103ebed",
+            "headers": "1d407g6yb81l9p0pbsidrsmnzkrwb4f2qb221kc9k2r7qdpf64px",
+            "x86_64-darwin": "6bc63916b7fe52de7559e7631fef5c93315a18ee90a0d3d08168c91414b09ecf",
+            "x86_64-linux": "20f6be493cbd6c9924206e744b1c490af1f97f4735451b9dc19f0d305366d546"
+        },
+        "version": "28.3.3"
+    },
+    "29": {
+        "hashes": {
+            "aarch64-darwin": "e9934a8eaecaab05dcc572b47576cdba78491c144c19348c9c9e9524c8c5917b",
+            "aarch64-linux": "a5c2bc148d3f6c3ee2bd15289243a1b75093afde3753d0aa1125d2cb621f5b59",
+            "armv7l-linux": "a75e2487ea1a1b292fbc160618167c204f161c602780f2b997b75d6ef5bbe539",
+            "headers": "0z4n8c95z48n54d1fph2p2i6cb43gk202zg09vmv168ajpspi2rr",
+            "x86_64-darwin": "b875c884efe86eb2e1922781f55193d82520e923510f19af87a58dfe07d21562",
+            "x86_64-linux": "eb07a8137fde970450242c51e0c2f8ef6556f377a21c357584aa2632ee9e1d3f"
+        },
+        "version": "29.4.2"
+    },
+    "30": {
+        "hashes": {
+            "aarch64-darwin": "7497d7926a094d6e1bf34f70ef206c4f2d9df072b1f9fa8cd431f6ea4fab680c",
+            "aarch64-linux": "bdb3485cd87861bb1d99f6b417f979ac899974a4322191a648efc311af9f8c5c",
+            "armv7l-linux": "3941ab1f23576d8f55fdf525e40387f97c2c9809173a8a933402b62ec95a592f",
+            "headers": "1jz8grs7sjncg68s34hf7rhd830414avxs1xg5lng5n7wmwfiw8i",
+            "x86_64-darwin": "bdadef26dac934416b17fa2af6bcd55424eb8b1ceb5f6fae068dbd5fd8b0d357",
+            "x86_64-linux": "4d00e8cd5f37962dc8fbefe2941d89dcb1c180f1568bb32122c7eb40d21f39c4"
+        },
+        "version": "30.1.1"
+    }
+}
diff --git a/pkgs/development/tools/electron/binary/print-hashes.sh b/pkgs/development/tools/electron/binary/print-hashes.sh
deleted file mode 100755
index 37cd7d3c662ba..0000000000000
--- a/pkgs/development/tools/electron/binary/print-hashes.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env bash
-
-set -eu -o pipefail
-
-if [[ $# -lt 1 ]]; then
-    echo "$0: version" >&2
-    exit 1
-fi
-
-VERSION="$1"
-
-declare -A SYSTEMS HASHES
-SYSTEMS=(
-    [i686-linux]=linux-ia32
-    [x86_64-linux]=linux-x64
-    [armv7l-linux]=linux-armv7l
-    [aarch64-linux]=linux-arm64
-    [x86_64-darwin]=darwin-x64
-    [aarch64-darwin]=darwin-arm64
-)
-
-hashfile="$(nix-prefetch-url --print-path "https://github.com/electron/electron/releases/download/v${VERSION}/SHASUMS256.txt" | tail -n1)"
-headers="$(nix-prefetch-url "https://artifacts.electronjs.org/headers/dist/v${VERSION}/node-v${VERSION}-headers.tar.gz")"
-
-# Entry similar to the following goes in default.nix:
-
-echo "  electron_${VERSION%%.*}-bin = mkElectron \"${VERSION}\" {"
-
-for S in "${!SYSTEMS[@]}"; do
-  hash="$(grep " *electron-v${VERSION}-${SYSTEMS[$S]}.zip$" "$hashfile"|cut -f1 -d' ' || :)"
-  if [[ -n $hash ]]; then
-    echo "    $S = \"$hash\";"
-  fi
-done
-
-echo "    headers = \"$headers\";"
-
-echo "  };"
diff --git a/pkgs/development/tools/electron/common.nix b/pkgs/development/tools/electron/common.nix
index 0cde63f2b3128..36cecd7ce6a63 100644
--- a/pkgs/development/tools/electron/common.nix
+++ b/pkgs/development/tools/electron/common.nix
@@ -49,7 +49,7 @@ in (chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
 
   src = null;
 
-  patches = base.patches ++ lib.optional (lib.versionAtLeast info.version "29")
+  patches = base.patches ++ lib.optional (lib.versionOlder info.version "30")
     (substituteAll {
       # disable a component that requires CIPD blobs
       name = "disable-screen-ai.patch";
@@ -172,10 +172,8 @@ in (chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
     use_perfetto_client_library = false;
     v8_builtins_profiling_log_file = "";
     enable_dangling_raw_ptr_checks = false;
-  } // lib.optionalAttrs (lib.versionAtLeast info.version "28") {
     dawn_use_built_dxc = false;
     v8_enable_private_mapping_fork_optimization = true;
-  } // lib.optionalAttrs (lib.versionAtLeast info.version "29") {
     v8_expose_public_symbols = true;
   } // {
 
@@ -236,7 +234,7 @@ in (chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
     homepage = "https://github.com/electron/electron";
     platforms = lib.platforms.linux;
     license = licenses.mit;
-    maintainers = with maintainers; [ yayayayaka ];
+    maintainers = with maintainers; [ yayayayaka teutat3s ];
     mainProgram = "electron";
     hydraPlatforms = lib.optionals (!(hasInfix "alpha" info.version) && !(hasInfix "beta" info.version)) ["aarch64-linux" "x86_64-linux"];
     timeout = 172800; # 48 hours (increased from the Hydra default of 10h)
diff --git a/pkgs/development/tools/electron/info.json b/pkgs/development/tools/electron/info.json
index 0304f0bbec437..26349f02fa60c 100644
--- a/pkgs/development/tools/electron/info.json
+++ b/pkgs/development/tools/electron/info.json
@@ -1,2691 +1,1824 @@
 {
-    "28": {
-        "deps": {
-            "src/electron": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-Y0uNoq5LhlFMxQfqrTjzOokbB7Y6UUAlBCj+Nghiz5w=",
-                "owner": "electron",
-                "repo": "electron",
-                "rev": "v28.3.1"
+    "29": {
+        "chrome": "122.0.6261.156",
+        "chromium": {
+            "deps": {
+                "gn": {
+                    "hash": "sha256-UhdDsq9JyP0efGpAaJ/nLp723BbjM6pkFPcAnQbgMKY=",
+                    "rev": "f99e015ac35f689cfdbf46e4eb174e5d2da78d8e",
+                    "url": "https://gn.googlesource.com/gn",
+                    "version": "2024-01-22"
+                }
             },
+            "version": "122.0.6261.156"
+        },
+        "chromium_npm_hash": "sha256-9eFsK673j3pTDOcsU35RN4hagFygA/v/ahCqVVEV0Rs=",
+        "deps": {
             "src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-g0aRiWCPrXPKBsOsAgtLmRbOeYigtm05MrWH6/fhQs0=",
-                "url": "https://chromium.googlesource.com/chromium/src.git",
-                "rev": "120.0.6099.291",
-                "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; "
-            },
-            "src/third_party/clang-format/script": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-7VvofDDQe+SoMRBfVk26q+C+OPyOE7QH35wVWkfDKxs=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git",
-                "rev": "e5337933f2951cacd3aeacd238ce4578163ca0b9"
-            },
-            "src/third_party/libc++/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-DVO15xGxatRbUp13EoNslGEZ2QSHn97VbEBHyfMvKfQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
-                "rev": "a429c26ae25c26a569ff12390d5f9be70c5e286b"
-            },
-            "src/third_party/libc++abi/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-QjCPRgFU34wZ8GG/dl+6wi2gflje3fG/x+eokb9W02c=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git",
-                "rev": "2ca9f38714b1465b9f55b5fbd0da5e4342811e2b"
-            },
-            "src/third_party/libunwind/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-bQHo8CKDpqvJcVv6OzVO7LOGTqL9qHqD4n9TtRK0v5g=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
-                "rev": "7686b5d38c69d14932abfb1c1a66ba56c78791ad"
+                "hash": "sha256-5AmRq2pl3p0QtqyIjx4XDVE9Mnps18F9Z9MyH+38a0Y=",
+                "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; ",
+                "rev": "122.0.6261.156",
+                "url": "https://chromium.googlesource.com/chromium/src.git"
             },
             "src/chrome/test/data/perf/canvas_bench": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-svOuyBGKloBLM11xLlWCDsB4PpRjdKTBdW2UEW4JQjM=",
-                "url": "https://chromium.googlesource.com/chromium/canvas_bench.git",
-                "rev": "a7b40ea5ae0239517d78845a5fc9b12976bfc732"
+                "rev": "a7b40ea5ae0239517d78845a5fc9b12976bfc732",
+                "url": "https://chromium.googlesource.com/chromium/canvas_bench.git"
             },
             "src/chrome/test/data/perf/frame_rate/content": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-t4kcuvH0rkPBkcdiMsoNQaRwU09eU+oSvyHDiAHrKXo=",
-                "url": "https://chromium.googlesource.com/chromium/frame_rate/content.git",
-                "rev": "c10272c88463efeef6bb19c9ec07c42bc8fe22b9"
+                "rev": "c10272c88463efeef6bb19c9ec07c42bc8fe22b9",
+                "url": "https://chromium.googlesource.com/chromium/frame_rate/content.git"
             },
             "src/chrome/test/data/xr/webvr_info": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-BsAPwc4oEWri0TlqhyxqFNqKdfgVSrB0vQyISmYY4eg=",
-                "url": "https://chromium.googlesource.com/external/github.com/toji/webvr.info.git",
-                "rev": "c58ae99b9ff9e2aa4c524633519570bf33536248"
+                "rev": "c58ae99b9ff9e2aa4c524633519570bf33536248",
+                "url": "https://chromium.googlesource.com/external/github.com/toji/webvr.info.git"
             },
             "src/docs/website": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+UawYfW5FAMpv0TbzSR8qITPGUQulLIZ0mUh6ZdnmMI=",
-                "url": "https://chromium.googlesource.com/website.git",
-                "rev": "07714da3c28b942dc8522affed4487403e971545"
+                "hash": "sha256-sKbrY/m75LVWjWjhhjaeQnfXQP5AkEsEkZ+GmMNQJVo=",
+                "rev": "7474472013397bdb177cda70099f6411a5bd8212",
+                "url": "https://chromium.googlesource.com/website.git"
+            },
+            "src/electron": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-hyk8RsG2hIsAZRiJuYRF6HC+K7TyA76qiYsc2sH0Apw=",
+                "owner": "electron",
+                "repo": "electron",
+                "rev": "v29.4.2"
             },
             "src/media/cdm/api": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-6J6aSYW0or99VAgMNJJOdJqMJspoG7w1HxDN50MV5bw=",
-                "url": "https://chromium.googlesource.com/chromium/cdm.git",
-                "rev": "fef0b5aa1bd31efb88dfab804bdbe614f3d54f28"
+                "rev": "fef0b5aa1bd31efb88dfab804bdbe614f3d54f28",
+                "url": "https://chromium.googlesource.com/chromium/cdm.git"
             },
             "src/net/third_party/quiche/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-JXWGEsJrXRXs2BrkWIC8cUBD6uvt8ftb9V5Dy2yLc/w=",
-                "url": "https://quiche.googlesource.com/quiche.git",
-                "rev": "a01a131ca6df63e774809d623f47e8cf28c574cc"
+                "hash": "sha256-mrnKQh2d6ewg1X8sCx8U4frHXyFKHuIUpvi0WBzg+PU=",
+                "rev": "0e39ce016ee1ec8271aa7216d547917c239db525",
+                "url": "https://quiche.googlesource.com/quiche.git"
             },
             "src/third_party/angle": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-aOV7kxrF8FeoHYodZjaUrDDUtpXg2gUiZg6Olv90puk=",
-                "url": "https://chromium.googlesource.com/angle/angle.git",
-                "rev": "6fff8ebc937f07e31473ac014a55f662248ab39a"
+                "hash": "sha256-h2b/f8MmldZSk3c84rvwO5+UZK36BFf/H9BStWFbDoo=",
+                "rev": "f9bad5e27d61e2ab6a7504b1793be5aa14eb1414",
+                "url": "https://chromium.googlesource.com/angle/angle.git"
+            },
+            "src/third_party/angle/third_party/VK-GL-CTS/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-zBY7MY6FXazzTW+nXvknkNar/odL0tzHXxHPmpYuy7E=",
+                "rev": "0f6fd3de81102058dc2ae299af1ad5287d2145dd",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS"
             },
             "src/third_party/angle/third_party/glmark2/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-L7+zWM0qn8WFhmON7DGvarTsN1YHt1sn5+hazTOZrrk=",
-                "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
-                "rev": "ca8de51fedb70bace5351c6b002eb952c747e889"
+                "rev": "ca8de51fedb70bace5351c6b002eb952c747e889",
+                "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2"
             },
             "src/third_party/angle/third_party/rapidjson/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-btUl1a/B0sXwf/+hyvCvVJjWqIkXfVYCpHm3TeBuOxk=",
-                "url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson",
-                "rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f"
+                "rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f",
+                "url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson"
             },
-            "src/third_party/angle/third_party/VK-GL-CTS/src": {
+            "src/third_party/anonymous_tokens/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+g1yjF1yETrL1X6Cxu5mhPWXukWygg1dnawU8S9cGkA=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
-                "rev": "7d738783bf286e82937e431c295d4682f3767267"
+                "hash": "sha256-3+/zvwYAv3OGoKJatg+/c3OM1IyGq2iCyFWgu3b8VoU=",
+                "rev": "d024f05b39e21bb2a0b8205a7ce72b1b185b84c2",
+                "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git"
             },
-            "src/third_party/anonymous_tokens/src": {
+            "src/third_party/beto-core/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-2B0j9vNF8nMhmedk+ghz4JJJiDKN6jnVfdqsa4zRWeU=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git",
-                "rev": "47d423347823088a21b26262ca553eadb8e5b220"
+                "hash": "sha256-PkvHqVKjGHxAYntylJxR5xnUVU1o8DJuBmsd9qkl/Yo=",
+                "rev": "4d202dab960a0b6a6e4757ab4393945aca5a09db",
+                "url": "https://beto-core.googlesource.com/beto-core.git"
             },
-            "src/third_party/content_analysis_sdk/src": {
+            "src/third_party/boringssl/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-f5Jmk1MiGjaRdLun+v/GKVl8Yv9hOZMTQUSxgiJalcY=",
-                "url": "https://chromium.googlesource.com/external/github.com/chromium/content_analysis_sdk.git",
-                "rev": "9a408736204513e0e95dd2ab3c08de0d95963efc"
+                "hash": "sha256-shqUB+x7oXgtQqqfhkwXHwLLaJW1/L1vh1O+jvdsDP8=",
+                "rev": "414f69504d30d0848b69f6453ea7fb5e88004cb4",
+                "url": "https://boringssl.googlesource.com/boringssl.git"
             },
-            "src/third_party/dav1d/libdav1d": {
+            "src/third_party/breakpad/breakpad": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9SrbxiOqXKTFf4qZ4Wqg9aoOMY8zv7NczTqN2+lXwCI=",
-                "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git",
-                "rev": "47107e384bd1dc25674acf04d000a8cdc6195234"
+                "hash": "sha256-7SmO5e/U2shYVslmCRPVLyfU5N4Rp1mzls8lLqIW8x8=",
+                "rev": "62ecd463583d09eb7d15b1d410055f30b2c7bcb4",
+                "url": "https://chromium.googlesource.com/breakpad/breakpad.git"
             },
-            "src/third_party/dawn": {
+            "src/third_party/cast_core/public/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5srmcwL9Zqv91LwoBf9xuyusq1ghDo30Aj27Xo96yPc=",
-                "url": "https://dawn.googlesource.com/dawn.git",
-                "rev": "c7ed440d75861649d8a1ef4b775384f31211d902"
+                "hash": "sha256-AalRQhJmornCqmvE2+36J/3LubaA0jr6P1PXy32lX4I=",
+                "rev": "71f51fd6fa45fac73848f65421081edd723297cd",
+                "url": "https://chromium.googlesource.com/cast_core/public"
             },
-            "src/third_party/dawn/third_party/glfw": {
+            "src/third_party/catapult": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TwAPRjQxIz3J+zbNxzCp5Tek7MwisxdekMpY5QGsKyg=",
-                "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
-                "rev": "62e175ef9fae75335575964c845a302447c012c7"
+                "hash": "sha256-ixfmLcWTgVcHi2CXAulMXTaAyPYT42Q8VflStxmNRXc=",
+                "rev": "ab03292694695864b523636060e2a96b2c9b2df2",
+                "url": "https://chromium.googlesource.com/catapult.git"
             },
-            "src/third_party/dawn/third_party/dxc": {
+            "src/third_party/ced/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-EAfTm0QZcihcU6ufBHE1QsYRggNWNKHjVZXcrUp/T+c=",
-                "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler",
-                "rev": "64030a4e01e27c608b6c5f1ab5add43575e086f9"
+                "hash": "sha256-ySG74Rj2i2c/PltEgHVEDq+N8yd9gZmxNktc56zIUiY=",
+                "rev": "ba412eaaacd3186085babcd901679a48863c7dd5",
+                "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git"
             },
-            "src/third_party/dawn/third_party/dxheaders": {
+            "src/third_party/chromium-variations": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA=",
-                "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers",
-                "rev": "980971e835876dc0cde415e8f9bc646e64667bf7"
+                "hash": "sha256-px8BHI5Cp3vBRyei50dbxCTn/gydLsps1/SmJxxeGKw=",
+                "rev": "d0dcd8802c22c1ac4a7d112782a4c75f0c6ca8ee",
+                "url": "https://chromium.googlesource.com/chromium-variations.git"
             },
-            "src/third_party/dawn/third_party/khronos/OpenGL-Registry": {
+            "src/third_party/clang-format/script": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry",
-                "rev": "5bae8738b23d06968e7c3a41308568120943ae77"
+                "hash": "sha256-7VvofDDQe+SoMRBfVk26q+C+OPyOE7QH35wVWkfDKxs=",
+                "rev": "e5337933f2951cacd3aeacd238ce4578163ca0b9",
+                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git"
             },
-            "src/third_party/dawn/third_party/khronos/EGL-Registry": {
+            "src/third_party/cld_3/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Z6DwLfgQ1wsJXz0KKJyVieOatnDmx3cs0qJ6IEgSq1A=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry",
-                "rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071"
+                "hash": "sha256-C3MOMBUy9jgkT9BAi/Fgm2UH4cxRuwSBEcRl3hzM2Ss=",
+                "rev": "b48dc46512566f5a2d41118c8c1116c4f96dc661",
+                "url": "https://chromium.googlesource.com/external/github.com/google/cld_3.git"
             },
-            "src/third_party/dawn/third_party/webgpu-cts": {
+            "src/third_party/colorama/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-DqQIyZU6kYYRoouIiJnJBit8l38wPu08zbJhM2BQbs4=",
-                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
-                "rev": "2ef3f322027bec1bb5572f5083d478148d355d79"
+                "hash": "sha256-6ZTdPYSHdQOLYMSnE+Tp7PgsVTs3U2awGu9Qb4Rg/tk=",
+                "rev": "3de9f013df4b470069d03d250224062e8cf15c49",
+                "url": "https://chromium.googlesource.com/external/colorama.git"
             },
-            "src/third_party/highway/src": {
+            "src/third_party/content_analysis_sdk/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-kNb9UVcFq2BIf9nftUgN8ciFFCzRCou/sLwVf08jf3E=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/highway.git",
-                "rev": "8f20644eca693cfb74aa795b0006b6779c370e7a"
+                "hash": "sha256-f5Jmk1MiGjaRdLun+v/GKVl8Yv9hOZMTQUSxgiJalcY=",
+                "rev": "9a408736204513e0e95dd2ab3c08de0d95963efc",
+                "url": "https://chromium.googlesource.com/external/github.com/chromium/content_analysis_sdk.git"
             },
-            "src/third_party/google_benchmark/src": {
+            "src/third_party/cpu_features/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-h2ryAQAuHI54Cni88L85e7Np4KATGVTRdDcmUvCNeWc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git",
-                "rev": "b177433f3ee2513b1075140c723d73ab8901790f"
+                "hash": "sha256-E8LoVzhe+TAmARWZTSuINlsVhzpUJMxPPCGe/dHZcyA=",
+                "rev": "936b9ab5515dead115606559502e3864958f7f6e",
+                "url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git"
             },
-            "src/third_party/boringssl/src": {
+            "src/third_party/cpuinfo/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-hxPNJzWS2f4iUsNYwRvxiTL9vRrcZzZT5KpIx3+WuGM=",
-                "url": "https://boringssl.googlesource.com/boringssl.git",
-                "rev": "c38dc29860a72540eb2c4fdb8a8bfb27ef94ddf3"
+                "hash": "sha256-56XE95dvaDF8E89V/le19Gk52fR0pqqyE38UgQo+GQM=",
+                "rev": "76cc10d627add77922dc24521b332a055a4d6d77",
+                "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git"
             },
-            "src/third_party/breakpad/breakpad": {
+            "src/third_party/crc32c/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-8AkC/8oX4OWAcV21laJ0AeMRB9G04rFc6UJFy7Wus4A=",
-                "url": "https://chromium.googlesource.com/breakpad/breakpad.git",
-                "rev": "8988364bcddd9b194b0bf931c10bc125987330ed"
+                "hash": "sha256-urg0bmnfMfHagLPELp4WrNCz1gBZ6DFOWpDue1KsMtc=",
+                "rev": "fa5ade41ee480003d9c5af6f43567ba22e4e17e6",
+                "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git"
             },
-            "src/third_party/cast_core/public/src": {
+            "src/third_party/cros-components/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-AalRQhJmornCqmvE2+36J/3LubaA0jr6P1PXy32lX4I=",
-                "url": "https://chromium.googlesource.com/cast_core/public",
-                "rev": "71f51fd6fa45fac73848f65421081edd723297cd"
+                "hash": "sha256-2FuyB/TLKMbqgjvw0q19lcG85fedwlOmKKNlGevEzos=",
+                "rev": "ab7bdff32543991f52872c25cecf1f926702dfe3",
+                "url": "https://chromium.googlesource.com/external/google3/cros_components.git"
             },
-            "src/third_party/catapult": {
+            "src/third_party/cros_system_api": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-jueHC5YC+WmGRtGZ8yD6QT2pVj21n1THpIz/vI9M334=",
-                "url": "https://chromium.googlesource.com/catapult.git",
-                "rev": "47efdb4b1428e549c58a6d6c2fa79c4a8ceaf9b4"
+                "hash": "sha256-Tzn7Sx6k7BpH/UqMZHdLTk26FBp5QNcX0xWhztgRKrw=",
+                "rev": "12d5e386005a211570cfdf9849d2fa6a3b38594b",
+                "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git"
             },
-            "src/third_party/ced/src": {
+            "src/third_party/crossbench": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ySG74Rj2i2c/PltEgHVEDq+N8yd9gZmxNktc56zIUiY=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git",
-                "rev": "ba412eaaacd3186085babcd901679a48863c7dd5"
+                "hash": "sha256-VxH1eOsJGQUk93EYexl1QrCpHTpgCOQP7H+oN0MZNpA=",
+                "rev": "1983b3f517da56c35c91296467458f71ad5b9340",
+                "url": "https://chromium.googlesource.com/crossbench.git"
             },
-            "src/third_party/chromium-variations": {
+            "src/third_party/dav1d/libdav1d": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-cRFzDmGoyrxwPDVvatGm3EutOXtWqqlI7v7BeX5d43s=",
-                "url": "https://chromium.googlesource.com/chromium-variations.git",
-                "rev": "cb7fe7e32de8b885ccdd6293444d8e4028b03eca"
+                "hash": "sha256-9SrbxiOqXKTFf4qZ4Wqg9aoOMY8zv7NczTqN2+lXwCI=",
+                "rev": "47107e384bd1dc25674acf04d000a8cdc6195234",
+                "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git"
             },
-            "src/third_party/cld_3/src": {
+            "src/third_party/dawn": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-C3MOMBUy9jgkT9BAi/Fgm2UH4cxRuwSBEcRl3hzM2Ss=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/cld_3.git",
-                "rev": "b48dc46512566f5a2d41118c8c1116c4f96dc661"
+                "hash": "sha256-/lG4wfy5LVCMGuqKRZgf/NoxsAuCvyUdV1Anbzi0q+U=",
+                "rev": "6a6719ee09f1078356fdd31c69061e07b5c61c2d",
+                "url": "https://dawn.googlesource.com/dawn.git"
             },
-            "src/third_party/colorama/src": {
+            "src/third_party/dawn/third_party/dxc": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6ZTdPYSHdQOLYMSnE+Tp7PgsVTs3U2awGu9Qb4Rg/tk=",
-                "url": "https://chromium.googlesource.com/external/colorama.git",
-                "rev": "3de9f013df4b470069d03d250224062e8cf15c49"
+                "hash": "sha256-PGGwxNYgvZ//k+cr19iTG2QwC9Agu2T9k9QOhnX565s=",
+                "rev": "701a2b1da0387ac6abf73bdbaf7864b9615db033",
+                "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler"
             },
-            "src/third_party/cpu_features/src": {
+            "src/third_party/dawn/third_party/dxheaders": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-E8LoVzhe+TAmARWZTSuINlsVhzpUJMxPPCGe/dHZcyA=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git",
-                "rev": "936b9ab5515dead115606559502e3864958f7f6e"
+                "hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA=",
+                "rev": "980971e835876dc0cde415e8f9bc646e64667bf7",
+                "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers"
             },
-            "src/third_party/cpuinfo/src": {
+            "src/third_party/dawn/third_party/glfw": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-BcSG/1aa/cyT8CCd1Qdsm/yXa5bCrmrtaRxnYjwkspY=",
-                "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git",
-                "rev": "76d5e8f5b563daa65340a60fce0e9aec73a936df"
+                "hash": "sha256-TwAPRjQxIz3J+zbNxzCp5Tek7MwisxdekMpY5QGsKyg=",
+                "rev": "62e175ef9fae75335575964c845a302447c012c7",
+                "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw"
             },
-            "src/third_party/crc32c/src": {
+            "src/third_party/dawn/third_party/khronos/EGL-Registry": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-urg0bmnfMfHagLPELp4WrNCz1gBZ6DFOWpDue1KsMtc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git",
-                "rev": "fa5ade41ee480003d9c5af6f43567ba22e4e17e6"
+                "hash": "sha256-Z6DwLfgQ1wsJXz0KKJyVieOatnDmx3cs0qJ6IEgSq1A=",
+                "rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry"
             },
-            "src/third_party/cros_system_api": {
+            "src/third_party/dawn/third_party/khronos/OpenGL-Registry": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-wI4rx+oQ6i8yIB8NBp/O471O4pVJL3l+ez0t8I5oD/w=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
-                "rev": "00c21541508ea2c6863f1cda24ef88ef30309ae8"
+                "hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE=",
+                "rev": "5bae8738b23d06968e7c3a41308568120943ae77",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry"
             },
-            "src/third_party/crossbench": {
+            "src/third_party/dawn/third_party/webgpu-cts": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-s/+y5bMj+CRnljFZ5aWKirPCsRUjckLOZ5F65WnPYSY=",
-                "url": "https://chromium.googlesource.com/crossbench.git",
-                "rev": "06981428c28d66678ebec13ca1fac3785cf51bb1"
+                "hash": "sha256-wlneFqVEhM6fe9p10T22dx4dxnZzWwKHw+35eIlDGVM=",
+                "rev": "dedb6316202c8c55b898e52248f1345241299125",
+                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts"
             },
             "src/third_party/depot_tools": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-WtosDcMOV9eh0PhTbB5w3x3AYQs3Ui4h3mV0Ib0CBlc=",
-                "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
-                "rev": "9f3b33a275e7a5b19d8ce4aba7960d2a38858681"
+                "hash": "sha256-C1l4piDzNENx6Vvtzu03HsBZTHIavO5AkmO6QXErh3Y=",
+                "rev": "6fc0c97ab284021b72e3bc962f7fa879ffcad65b",
+                "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git"
             },
             "src/third_party/devtools-frontend/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-B/2Qk5LSElBPNImlZHVF3A4g0GFE9OHG/+4QADpK+8w=",
-                "url": "https://chromium.googlesource.com/devtools/devtools-frontend",
-                "rev": "a6c7f00333881a7ecf7044b725052ab0c8776d6f"
+                "hash": "sha256-Y7XPBkKU8p210dj7ydIDVJgiXx6ZQPP4D5Jfw3t9FCc=",
+                "rev": "3fa1fc736f46022f45c7ba7d817d1df1519c55d7",
+                "url": "https://chromium.googlesource.com/devtools/devtools-frontend"
             },
             "src/third_party/dom_distiller_js/dist": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-yuEBD2XQlV3FGI/i7lTmJbCqzeBiuG1Qow8wvsppGJw=",
-                "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
-                "rev": "199de96b345ada7c6e7e6ba3d2fa7a6911b8767d"
+                "rev": "199de96b345ada7c6e7e6ba3d2fa7a6911b8767d",
+                "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git"
             },
             "src/third_party/eigen3/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-mfS/l+V0If3fmXvA1p5gtyrNCU6IqWYrBbzm4jkXC3I=",
-                "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
-                "rev": "aa6964bf3a34fd607837dd8123bc42465185c4f8"
+                "hash": "sha256-a9QAnv6vIM8a9Bn8ZmfeMT0+kbtb0QGxM0+m5xwIqm8=",
+                "rev": "454f89af9d6f3525b1df5f9ef9c86df58bf2d4d3",
+                "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git"
+            },
+            "src/third_party/electron_node": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-lGNDwe3IiQMLg5o0AMhLfNpyfu4dXVk05YRO0yMzg0I=",
+                "owner": "nodejs",
+                "repo": "node",
+                "rev": "v20.9.0"
+            },
+            "src/third_party/emoji-segmenter/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-oT9mAKoKnrsFsBAeTRfPOXM76HRQQabFAlPpfKUGFhs=",
+                "rev": "9ba6d25d0d9313569665d4a9d2b34f0f39f9a50e",
+                "url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git"
+            },
+            "src/third_party/engflow-reclient-configs": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-aZXYPj9KYBiZnljqOLlWJWS396Fg3EhjiQLZmkwCBsY=",
+                "owner": "EngFlow",
+                "repo": "reclient-configs",
+                "rev": "955335c30a752e9ef7bff375baab5e0819b6c00d"
+            },
+            "src/third_party/expat/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-FXTDGAK03jc2wvazhRKqtsFRKZUYS/9HLpZNp4JfZJI=",
+                "rev": "441f98d02deafd9b090aea568282b28f66a50e36",
+                "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git"
             },
             "src/third_party/farmhash/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-5n58VEUxa/K//jAfZqG4cXyfxrp50ogWDNYcgiXVHdc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git",
-                "rev": "816a4ae622e964763ca0862d9dbd19324a1eaf45"
+                "rev": "816a4ae622e964763ca0862d9dbd19324a1eaf45",
+                "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git"
             },
             "src/third_party/ffmpeg": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-lomUDmbbYW95BHEuYmm0pVqf++nYEa2XxeW4ag36tgc=",
-                "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
-                "rev": "e1ca3f06adec15150a171bc38f550058b4bbb23b"
+                "hash": "sha256-NRyMXRxnHJi5JiEJUxOxJyPGe5BGTxNbNyEOu1GyO8E=",
+                "rev": "17525de887d54b970ffdd421a0879c1db1952307",
+                "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git"
             },
             "src/third_party/flac": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-gvTFPNOlBfozptaH7lTb9iD/09AmpdT3kCl9ClszjEs=",
-                "url": "https://chromium.googlesource.com/chromium/deps/flac.git",
-                "rev": "689da3a7ed50af7448c3f1961d1791c7c1d9c85c"
+                "rev": "689da3a7ed50af7448c3f1961d1791c7c1d9c85c",
+                "url": "https://chromium.googlesource.com/chromium/deps/flac.git"
             },
             "src/third_party/flatbuffers/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-LecJwLDG6szZZ/UOCFD+MDqH3NKawn0sdEwgnMt8wMM=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git",
-                "rev": "bcb9ef187628fe07514e57756d05e6a6296f7dc5"
+                "rev": "bcb9ef187628fe07514e57756d05e6a6296f7dc5",
+                "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git"
             },
             "src/third_party/fontconfig/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-7PFmgr/+KNEYxCMuxMD2Zi9Ydcbp88IU7exr55a392Q=",
-                "url": "https://chromium.googlesource.com/external/fontconfig.git",
-                "rev": "2fb3419a92156569bc1ec707401258c922cd0d99"
+                "rev": "2fb3419a92156569bc1ec707401258c922cd0d99",
+                "url": "https://chromium.googlesource.com/external/fontconfig.git"
             },
             "src/third_party/fp16/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-m2d9bqZoGWzuUPGkd29MsrdscnJRtuIkLIMp3fMmtRY=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git",
-                "rev": "0a92994d729ff76a58f692d3028ca1b64b145d91"
-            },
-            "src/third_party/gemmlowp/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-O5wD8wxgis0qYMaY+xZ21GBDVQFphMRvInCOswS6inA=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/gemmlowp.git",
-                "rev": "13d57703abca3005d97b19df1f2db731607a7dc2"
+                "rev": "0a92994d729ff76a58f692d3028ca1b64b145d91",
+                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git"
             },
-            "src/third_party/grpc/src": {
+            "src/third_party/freetype-testing/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-64JEVCx/PCM0dvv7kAQvSjLc0QbRAZVBDzwD/FAV6T8=",
-                "url": "https://chromium.googlesource.com/external/github.com/grpc/grpc.git",
-                "rev": "822dab21d9995c5cf942476b35ca12a1aa9d2737"
+                "hash": "sha256-2aHPchIK5Oce5+XxdXVCC+8EM6i0XT0rFbjSIVa2L1A=",
+                "rev": "7a69b1a2b028476f840ab7d4a2ffdfe4eb2c389f",
+                "url": "https://chromium.googlesource.com/external/github.com/freetype/freetype2-testing.git"
             },
             "src/third_party/freetype/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-wyaCNPPL2CTZYY6YUUuGnN3TjHxgKeHAYsw+r88ijMI=",
-                "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
-                "rev": "55d0287cfc31115760cb13caa346b407ef0c0ceb"
+                "hash": "sha256-ogBt+haM+MoETsPIhwPDPZCLwQB9u9+w7OHL4us6kg8=",
+                "rev": "57617782464411201ce7bbc93b086c1b4d7d84a5",
+                "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git"
             },
-            "src/third_party/freetype-testing/src": {
+            "src/third_party/fuzztest/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-2aHPchIK5Oce5+XxdXVCC+8EM6i0XT0rFbjSIVa2L1A=",
-                "url": "https://chromium.googlesource.com/external/github.com/freetype/freetype2-testing.git",
-                "rev": "7a69b1a2b028476f840ab7d4a2ffdfe4eb2c389f"
+                "hash": "sha256-YEg+/562AX/hK0Adx9bUZqATt+5VDZjn/csWVhRji2M=",
+                "rev": "12e7428ab0847b1d1dc6c4b89203adfd1f16a1ad",
+                "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git"
             },
             "src/third_party/fxdiv/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-LjX5kivfHbqCIA5pF9qUvswG1gjOFo3CMpX0VR+Cn38=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git",
-                "rev": "63058eff77e11aa15bf531df5dd34395ec3017c8"
+                "rev": "63058eff77e11aa15bf531df5dd34395ec3017c8",
+                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git"
             },
-            "src/third_party/harfbuzz-ng/src": {
+            "src/third_party/gemmlowp/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-xCsfgbsWVSiuII5zFspssrqX4NrRuhzufYSq6fdnjKQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
-                "rev": "f26fd69d858642d76413b8f4068eaf9b57c40a5f"
+                "hash": "sha256-O5wD8wxgis0qYMaY+xZ21GBDVQFphMRvInCOswS6inA=",
+                "rev": "13d57703abca3005d97b19df1f2db731607a7dc2",
+                "url": "https://chromium.googlesource.com/external/github.com/google/gemmlowp.git"
             },
-            "src/third_party/emoji-segmenter/src": {
+            "src/third_party/google_benchmark/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-oT9mAKoKnrsFsBAeTRfPOXM76HRQQabFAlPpfKUGFhs=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git",
-                "rev": "9ba6d25d0d9313569665d4a9d2b34f0f39f9a50e"
+                "hash": "sha256-h2ryAQAuHI54Cni88L85e7Np4KATGVTRdDcmUvCNeWc=",
+                "rev": "b177433f3ee2513b1075140c723d73ab8901790f",
+                "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git"
             },
-            "src/third_party/ots/src": {
+            "src/third_party/googletest/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-kiUXrXsaGOzPkKh0dVmU1I13WHt0Stzj7QLMqHN9FbU=",
-                "url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git",
-                "rev": "46bea9879127d0ff1c6601b078e2ce98e83fcd33"
+                "hash": "sha256-VYRjcM3dDY2FarviXyFMgSkXCqKfWXwtGAj2Msgm7zg=",
+                "rev": "af29db7ec28d6df1c7f0f745186884091e602e07",
+                "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git"
             },
-            "src/third_party/libgav1/src": {
+            "src/third_party/grpc/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-dT8/Mdit3Qc5Sno6DYKv1qSNr+6Lhiy24ZNNBKoVq8I=",
-                "url": "https://chromium.googlesource.com/codecs/libgav1.git",
-                "rev": "df0023cc95b8e606a2fd243522d823401ef86637"
+                "hash": "sha256-64JEVCx/PCM0dvv7kAQvSjLc0QbRAZVBDzwD/FAV6T8=",
+                "rev": "822dab21d9995c5cf942476b35ca12a1aa9d2737",
+                "url": "https://chromium.googlesource.com/external/github.com/grpc/grpc.git"
             },
-            "src/third_party/googletest/src": {
+            "src/third_party/harfbuzz-ng/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-VYRjcM3dDY2FarviXyFMgSkXCqKfWXwtGAj2Msgm7zg=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git",
-                "rev": "af29db7ec28d6df1c7f0f745186884091e602e07"
+                "hash": "sha256-VAan6P8PHSq8RsGE4YbI/wCfFAhzl3nJMt0cQBYi5Ls=",
+                "rev": "155015f4bec434ecc2f94621665844218f05ce51",
+                "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git"
+            },
+            "src/third_party/highway/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-kNb9UVcFq2BIf9nftUgN8ciFFCzRCou/sLwVf08jf3E=",
+                "rev": "8f20644eca693cfb74aa795b0006b6779c370e7a",
+                "url": "https://chromium.googlesource.com/external/github.com/google/highway.git"
             },
             "src/third_party/hunspell_dictionaries": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-67mvpJRFFa9eMfyqFMURlbxOaTJBICnk+gl0b0mEHl8=",
-                "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git",
-                "rev": "41cdffd71c9948f63c7ad36e1fb0ff519aa7a37e"
+                "rev": "41cdffd71c9948f63c7ad36e1fb0ff519aa7a37e",
+                "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git"
             },
             "src/third_party/icu": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9yFRBrHdWcYgrZAaigS8XnxNsqJNklGdFkAAgVdHXFU=",
-                "url": "https://chromium.googlesource.com/chromium/deps/icu.git",
-                "rev": "a622de35ac311c5ad390a7af80724634e5dc61ed"
+                "hash": "sha256-YYoslfgGfmDpSTxtCOmGGfwQg6mVU1IggzAtWRwwcMc=",
+                "rev": "bad7ddbf921358177e56fd723c2f59f8041a370f",
+                "url": "https://chromium.googlesource.com/chromium/deps/icu.git"
             },
             "src/third_party/jsoncpp/source": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q=",
-                "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git",
-                "rev": "42e892d96e47b1f6e29844cc705e148ec4856448"
+                "rev": "42e892d96e47b1f6e29844cc705e148ec4856448",
+                "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git"
             },
             "src/third_party/leveldatabase/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-TTX2FrmcWsgqrh4uzqMyGnnnG51cVC2ILfdLxD65MLY=",
-                "url": "https://chromium.googlesource.com/external/leveldb.git",
-                "rev": "068d5ee1a3ac40dabd00d211d5013af44be55bea"
+                "rev": "068d5ee1a3ac40dabd00d211d5013af44be55bea",
+                "url": "https://chromium.googlesource.com/external/leveldb.git"
             },
             "src/third_party/libFuzzer/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-T0dO+1A0r6kLFoleMkY8heu80biPntCpvA6YfqA7b+E=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git",
-                "rev": "758bd21f103a501b362b1ca46fa8fcb692eaa303"
-            },
-            "src/third_party/fuzztest/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-wuB/lbkVCbisZvVFuLdE8XNDuiLQcI47/Y0EqvOCytc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git",
-                "rev": "b5dbc33890d9586e4f6a213f1bf163ad287e6aa4"
+                "rev": "758bd21f103a501b362b1ca46fa8fcb692eaa303",
+                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git"
             },
             "src/third_party/libaddressinput/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-xvUUQSPrvqUp5DI9AqlRTWurwDW087c6v4RvI+4sfOQ=",
-                "url": "https://chromium.googlesource.com/external/libaddressinput.git",
-                "rev": "e8712e415627f22d0b00ebee8db99547077f39bd"
+                "rev": "e8712e415627f22d0b00ebee8db99547077f39bd",
+                "url": "https://chromium.googlesource.com/external/libaddressinput.git"
             },
             "src/third_party/libaom/source/libaom": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6oZWYXRTZ1IC5yGvfPI19PwPU9O7mKBsW2wVxBGwU/I=",
-                "url": "https://aomedia.googlesource.com/aom.git",
-                "rev": "1dbe1c7fae2456f91ccc79fecb919e9ffea0727a"
+                "hash": "sha256-f65sdsMAWCWpsdTgyTzx5fwM/2ESm/cBCvU41s2BEV0=",
+                "rev": "1a72ea323d65e46eb90d08d492c04891abb91926",
+                "url": "https://aomedia.googlesource.com/aom.git"
             },
             "src/third_party/libavif/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Jd/KwJJ1oeQMLg8CShTTDQhCVHEDpXcQHiA4+NXYOIA=",
-                "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git",
-                "rev": "1a78d970b8315e7cc6a8601861ec75189c50c214"
+                "hash": "sha256-rglws6GR11X8SdpYhK9CoxElWuPFYfp5b+vETjEoJOY=",
+                "rev": "e170c9366090cdc389d5f47ee3c2d7db71d263bc",
+                "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git"
             },
             "src/third_party/libavifinfo/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-UAc4iYWrKWteH98hD3QLkD3JWmV/rsvWhFIVJN7tc+Q=",
-                "url": "https://aomedia.googlesource.com/libavifinfo.git",
-                "rev": "b496868f7c3fd17dfeeecc0364fe37e19edd548a"
-            },
-            "src/third_party/nearby/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9PT/tuxjREGsvSnYT2wyaL5sB52CcYPpKVKN0ZGldWU=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git",
-                "rev": "629e7ba7c964a62c97f6a882bffaec3c8490bb1e"
-            },
-            "src/third_party/beto-core/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-qgsPK7RyVqGRji0sTcMck1JqX9iCsYIExGoGwNZyVT0=",
-                "url": "https://beto-core.googlesource.com/beto-core.git",
-                "rev": "b902b346037ea3f4aadf8177021f6f917b16e648"
-            },
-            "src/third_party/securemessage/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-GS4ccnuiqxMs/LVYAtvSlVAYFp4a5GoZsxcriTX3k78=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git",
-                "rev": "fa07beb12babc3b25e0c5b1f38c16aa8cb6b8f84"
+                "rev": "b496868f7c3fd17dfeeecc0364fe37e19edd548a",
+                "url": "https://aomedia.googlesource.com/libavifinfo.git"
             },
-            "src/third_party/speedometer/v3.0": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-PqrwtPFU3TI840za3UU8p+t4ZdyX0l79esEA602Mbq0=",
-                "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git",
-                "rev": "5107c739c1b2a008e7293e3b489c4f80a8fb2e01"
-            },
-            "src/third_party/ukey2/src": {
+            "src/third_party/libc++/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-aaLs6ZS+CdBlCJ6ZhsmdAPFxiBIij6oufsDcNeRSV1E=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/ukey2.git",
-                "rev": "0275885d8e6038c39b8a8ca55e75d1d4d1727f47"
+                "hash": "sha256-/3VxptC6qAv9NCt8y1peJKTXTFI7blbvnpZ6D0VYyDk=",
+                "rev": "28aa23ffb4c7344914a5b4ac7169f12e5a12333f",
+                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git"
             },
-            "src/third_party/cros-components/src": {
+            "src/third_party/libc++abi/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ZjLMlNDDN08v9SUFAuroPsu/6ADLHZAAFpv+bmaJA2Y=",
-                "url": "https://chromium.googlesource.com/external/google3/cros_components.git",
-                "rev": "25159cae8d540780cbeb994692ce4a3ea14cc094"
+                "hash": "sha256-O337gqiB4uiTWUgIfPdEa1Du+/ww+xYpmmZW9Py7uyQ=",
+                "rev": "9986707a5f2fc6d5d1ffa7f224a032bdd45c95fd",
+                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git"
             },
             "src/third_party/libdrm/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-NUxS2rBJ0nFblvHRQUfKT933+DAws5RUTDb+RLxRF4M=",
-                "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git",
-                "rev": "98e1db501173303e58ef6a1def94ab7a2d84afc1"
+                "rev": "98e1db501173303e58ef6a1def94ab7a2d84afc1",
+                "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git"
             },
-            "src/third_party/expat/src": {
+            "src/third_party/libgav1/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-FXTDGAK03jc2wvazhRKqtsFRKZUYS/9HLpZNp4JfZJI=",
-                "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
-                "rev": "441f98d02deafd9b090aea568282b28f66a50e36"
+                "hash": "sha256-ySRgjJUYFXTw5kys9WDSuxnmfzj1I4ImvTWi+7q0HXE=",
+                "rev": "35fea10bfdb790cf131ae74a4ee346905f34dc3c",
+                "url": "https://chromium.googlesource.com/codecs/libgav1.git"
             },
             "src/third_party/libipp/libipp": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-gxU92lHLd6uxO8T3QWhZIK0hGy97cki705DV0VimCPY=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git",
-                "rev": "2209bb84a8e122dab7c02fe66cc61a7b42873d7f"
+                "rev": "2209bb84a8e122dab7c02fe66cc61a7b42873d7f",
+                "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git"
             },
             "src/third_party/libjpeg_turbo": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-+t75ZAdOXc7Nd1/8zEQLX+enZb8upqIQuR6qzb9z7Cg=",
-                "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
-                "rev": "9b894306ec3b28cea46e84c32b56773a98c483da"
+                "rev": "9b894306ec3b28cea46e84c32b56773a98c483da",
+                "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git"
             },
             "src/third_party/liblouis/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-EI/uaHXe0NlqdEw764q0SjerThYEVLRogUlmrsZwXnY=",
-                "url": "https://chromium.googlesource.com/external/liblouis-github.git",
-                "rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376"
+                "rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376",
+                "url": "https://chromium.googlesource.com/external/liblouis-github.git"
             },
             "src/third_party/libphonenumber/dist": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-3hSnTFTD3KAdbyxfKg12qbIYTmw6YlTCH64gMP/HUJo=",
-                "url": "https://chromium.googlesource.com/external/libphonenumber.git",
-                "rev": "140dfeb81b753388e8a672900fb7a971e9a0d362"
+                "rev": "140dfeb81b753388e8a672900fb7a971e9a0d362",
+                "url": "https://chromium.googlesource.com/external/libphonenumber.git"
             },
             "src/third_party/libprotobuf-mutator/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-ZyPweW+V5foxFQwjjMLkaRUo+FNV+kEDGIH/4oRV614=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git",
-                "rev": "a304ec48dcf15d942607032151f7e9ee504b5dcf"
+                "rev": "a304ec48dcf15d942607032151f7e9ee504b5dcf",
+                "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git"
             },
             "src/third_party/libsrtp": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-pfLFh2JGk/g0ZZxBKTaYW9/PBpkCm0rtJeyNePUMTTc=",
-                "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git",
-                "rev": "5b7c744eb8310250ccc534f3f86a2015b3887a0a"
+                "rev": "5b7c744eb8310250ccc534f3f86a2015b3887a0a",
+                "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git"
             },
             "src/third_party/libsync/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-Mkl6C1LxF3RYLwYbxiSfoQPt8QKFwQWj/Ati2sNJ32E=",
-                "url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git",
-                "rev": "f4f4387b6bf2387efbcfd1453af4892e8982faf6"
+                "rev": "f4f4387b6bf2387efbcfd1453af4892e8982faf6",
+                "url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git"
+            },
+            "src/third_party/libunwind/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-WPd6BlhNNF9n/qFU8atEh1fagbc05dWsFzBugw55boY=",
+                "rev": "f400fdb561d4416b59b8f8a33d8ec8b79da60495",
+                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git"
             },
             "src/third_party/libvpx/source/libvpx": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-UA/pf35eWFArRM+QdN6i6LK0ePWzXEsviHlf3WUgMoM=",
-                "url": "https://chromium.googlesource.com/webm/libvpx.git",
-                "rev": "424723dc025ce451dab9568239a46b18d0919b4d"
+                "hash": "sha256-AUNWUicLMpEL/+r5c3JVjgZu9URBVsebayMs+ogNN6M=",
+                "rev": "893c9f6d070cc3bd8503152480089673f57fdf76",
+                "url": "https://chromium.googlesource.com/webm/libvpx.git"
             },
             "src/third_party/libwebm/source": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-u/5nkJed0DzdhR5OLL2kIhZhOnrbyzL1Kx37vV/jcEo=",
-                "url": "https://chromium.googlesource.com/webm/libwebm.git",
-                "rev": "e4fbea0c9751ae8aa86629b197a28d8276a2b0da"
+                "rev": "e4fbea0c9751ae8aa86629b197a28d8276a2b0da",
+                "url": "https://chromium.googlesource.com/webm/libwebm.git"
             },
             "src/third_party/libwebp/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-Wa33opOFgcmYtycezDUt2f6PqZBse6xYB5kLuSaw95o=",
-                "url": "https://chromium.googlesource.com/webm/libwebp.git",
-                "rev": "ca332209cb5567c9b249c86788cb2dbf8847e760"
+                "rev": "ca332209cb5567c9b249c86788cb2dbf8847e760",
+                "url": "https://chromium.googlesource.com/webm/libwebp.git"
             },
             "src/third_party/libyuv": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-jxs9kHI40gRFhm9cU6uS1Rxj+LLUUqT9b3myihxgW7s=",
-                "url": "https://chromium.googlesource.com/libyuv/libyuv.git",
-                "rev": "04821d1e7d60845525e8db55c7bcd41ef5be9406"
+                "rev": "04821d1e7d60845525e8db55c7bcd41ef5be9406",
+                "url": "https://chromium.googlesource.com/libyuv/libyuv.git"
             },
             "src/third_party/lss": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-hE8uZf9Fst66qJkoVYChiB8G41ie+k9M4X0W+5JUSdw=",
-                "url": "https://chromium.googlesource.com/linux-syscall-support.git",
-                "rev": "ce877209e11aa69dcfffbd53ef90ea1d07136521"
+                "rev": "ce877209e11aa69dcfffbd53ef90ea1d07136521",
+                "url": "https://chromium.googlesource.com/linux-syscall-support.git"
             },
             "src/third_party/material_color_utilities/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-oi28dWuTd6ijn/RKSPukDr5GSzYiCTM2klFb7WSMDHY=",
-                "url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git",
-                "rev": "234a000e507d586c20df6e3bf5b9e035bc5ce7b1"
+                "hash": "sha256-sYLpJbgwR5POWqbUqu7IdWJ2Gibjz1PsMdSK+7yPDt4=",
+                "rev": "bec7bab60e6431201a82761ea4482b98b54c2af9",
+                "url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git"
             },
             "src/third_party/minigbm/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-9HwvjTETerbQ7YKXH9kUB2eWa8PxGWMAJfx1jAluhrs=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git",
-                "rev": "3018207f4d89395cc271278fb9a6558b660885f5"
+                "rev": "3018207f4d89395cc271278fb9a6558b660885f5",
+                "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git"
+            },
+            "src/third_party/nan": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-cwti+BWmF/l/dqa/cN0C587EK4WwRWcWy6gjFVkaMTg=",
+                "owner": "nodejs",
+                "repo": "nan",
+                "rev": "e14bdcd1f72d62bca1d541b66da43130384ec213"
             },
             "src/third_party/nasm": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-L+b3X3vsfpY6FSlIK/AHhxhmq2cXd50vND6uT6yn8Qs=",
-                "url": "https://chromium.googlesource.com/chromium/deps/nasm.git",
-                "rev": "7fc833e889d1afda72c06220e5bed8fb43b2e5ce"
+                "hash": "sha256-SiRXHsUlWXtH6dbDjDjqNAm105ibEB3jOfNtQAM4CaY=",
+                "rev": "f477acb1049f5e043904b87b825c5915084a9a29",
+                "url": "https://chromium.googlesource.com/chromium/deps/nasm.git"
+            },
+            "src/third_party/nearby/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-XsQrfj0R88qf0C/LtRUsset/lnRpBkbpGUr/ZE3qmyk=",
+                "rev": "4bdb5000ee7919724530cf89d50969e7b0ed58a7",
+                "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git"
             },
             "src/third_party/neon_2_sse/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-299ZptvdTmCnIuVVBkrpf5ZTxKPwgcGUob81tEI91F0=",
-                "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git",
-                "rev": "a15b489e1222b2087007546b4912e21293ea86ff"
+                "rev": "a15b489e1222b2087007546b4912e21293ea86ff",
+                "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git"
             },
             "src/third_party/openh264/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-J7Eqe2QevZh1xfap19W8AVCcwfRu7ztknnbKFJUAH1c=",
-                "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264",
-                "rev": "09a4f3ec842a8932341b195c5b01e141c8a16eb7"
+                "rev": "09a4f3ec842a8932341b195c5b01e141c8a16eb7",
+                "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264"
             },
             "src/third_party/openscreen/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TyZ/sZ0gnesWjKUnO2RVM2TTdpVIxsBWueHDgix0/wg=",
-                "url": "https://chromium.googlesource.com/openscreen",
-                "rev": "971d6055e7b78c474e2e734e55a2991fbb7ab665"
+                "hash": "sha256-habWfKhK66T537zJb/fm0IWpDbD2xgd9Upg97xRBy/M=",
+                "rev": "b70c552bedf189fc238e98f8f69e6c30e7925207",
+                "url": "https://chromium.googlesource.com/openscreen"
+            },
+            "src/third_party/openscreen/src/buildtools": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-o974IZvLUG2KlB1pQPYFwnoPGo239CV96pQPoQO7lvM=",
+                "rev": "a9a6f0c49d0e8fa0cda37337430b4736ab3dc944",
+                "url": "https://chromium.googlesource.com/chromium/src/buildtools"
             },
             "src/third_party/openscreen/src/third_party/tinycbor/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-fMKBFUSKmODQyg4hKIa1hwnEKIV6WBbY1Gb8DOSnaHA=",
-                "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git",
-                "rev": "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7"
+                "rev": "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7",
+                "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git"
+            },
+            "src/third_party/ots/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-kiUXrXsaGOzPkKh0dVmU1I13WHt0Stzj7QLMqHN9FbU=",
+                "rev": "46bea9879127d0ff1c6601b078e2ce98e83fcd33",
+                "url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git"
             },
             "src/third_party/pdfium": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-U1cScrfKN0F+cy307RT2iwB6RYKeCNDRnkYxzamezoY=",
-                "url": "https://pdfium.googlesource.com/pdfium.git",
-                "rev": "a3895af47f600e3f9677f31fa39e15bd01c18457"
+                "hash": "sha256-XJAQBQjM0JzyeNy5ZU1KpfxE1U6lQtTEhg21riHHJ0E=",
+                "rev": "4c4f9ab25dab142d7888f3258ab54df24b97b44f",
+                "url": "https://pdfium.googlesource.com/pdfium.git"
             },
             "src/third_party/perfetto": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-xLx+dnUysm+HS1esu2hAqBKg/GgTJK4SQu1ZINr2aYc=",
-                "url": "https://android.googlesource.com/platform/external/perfetto.git",
-                "rev": "7ce535ddfc62d30166f35a8ed0f121da5eb0437c"
+                "hash": "sha256-DLu7p6tDImRC7sk+PqIZvyjpOVIZl3I/8rYX498DVTk=",
+                "rev": "1e15d01da5d619ca617dcdd870efe3c35046a89c",
+                "url": "https://android.googlesource.com/platform/external/perfetto.git"
             },
             "src/third_party/pthreadpool/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-R4YmNzWEELSkAws/ejmNVxqXDTJwcqjLU/o/HvgRn2E=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/pthreadpool.git",
-                "rev": "4fe0e1e183925bf8cfa6aae24237e724a96479b8"
+                "rev": "4fe0e1e183925bf8cfa6aae24237e724a96479b8",
+                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/pthreadpool.git"
             },
             "src/third_party/pyelftools": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-I/7p3IEvfP/gkes4kx18PvWwhAKilQKb67GXoW4zFB4=",
-                "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git",
-                "rev": "19b3e610c86fcadb837d252c794cb5e8008826ae"
-            },
-            "src/third_party/quic_trace/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Nf9ZDLcE1JunhbpEMHhrY2ROnbgrvVZoRkPwWq1DU0g=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git",
-                "rev": "caa0a6eaba816ecb737f9a70782b7c80b8ac8dbc"
+                "rev": "19b3e610c86fcadb837d252c794cb5e8008826ae",
+                "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git"
             },
             "src/third_party/pywebsocket3/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-WEqqu2/7fLqcf/2/IcD7/FewRSZ6jTgVlVBvnihthYQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/pywebsocket3.git",
-                "rev": "50602a14f1b6da17e0b619833a13addc6ea78bc2"
+                "rev": "50602a14f1b6da17e0b619833a13addc6ea78bc2",
+                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/pywebsocket3.git"
+            },
+            "src/third_party/quic_trace/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-Nf9ZDLcE1JunhbpEMHhrY2ROnbgrvVZoRkPwWq1DU0g=",
+                "rev": "caa0a6eaba816ecb737f9a70782b7c80b8ac8dbc",
+                "url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git"
             },
             "src/third_party/re2/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-m3bJlSyyhmj/7jvy7ExNX/gol7yeu1mnmyAc8u8Pr8s=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/re2.git",
-                "rev": "3d9bdbd0e208d3274a1cb1275c94d8b7626ddde2"
+                "hash": "sha256-3eAhiKUIMnpVCEuLWVCVOK3alVsxAJrEWtHBzvdjZkY=",
+                "rev": "826ad10e58a042faf57d7c329b0fd0a04b797e0b",
+                "url": "https://chromium.googlesource.com/external/github.com/google/re2.git"
             },
             "src/third_party/ruy/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Zi3A49YqDE5S4iSpw9t9kTzitbQbcslm1zsepWX5cbw=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/ruy.git",
-                "rev": "6ffa93a89376555b09134c59b84d8f5e9cfc6ce6"
+                "hash": "sha256-gvzxHQEAK6D9qIr/Wf/s6TfBp9QorHlNi4qzSx5Ih/c=",
+                "rev": "cd7b92695b5d3f0c9ff65b865c2a1e19b99d766d",
+                "url": "https://chromium.googlesource.com/external/github.com/google/ruy.git"
+            },
+            "src/third_party/securemessage/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-GS4ccnuiqxMs/LVYAtvSlVAYFp4a5GoZsxcriTX3k78=",
+                "rev": "fa07beb12babc3b25e0c5b1f38c16aa8cb6b8f84",
+                "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git"
             },
             "src/third_party/skia": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-CvoJxsBN1Nyh+RPgU+aptZW5WsfGB4hmSlhyma1wO+E=",
-                "url": "https://skia.googlesource.com/skia.git",
-                "rev": "349c1179c43ef46f2804404952b9460dc007d76a"
+                "hash": "sha256-iJlxnQL0JsDPOFSyD0ubEMWtDJhtbqCsBtaQqWZt8q0=",
+                "rev": "8464f41cf051974e499be9caeab3243506e025c2",
+                "url": "https://skia.googlesource.com/skia.git"
             },
             "src/third_party/smhasher/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-RyC//me08hwGXRrWcK8GZ1uhIkBq4FByA7fHCVDsniw=",
-                "url": "https://chromium.googlesource.com/external/smhasher.git",
-                "rev": "e87738e57558e0ec472b2fc3a643b838e5b6e88f"
+                "rev": "e87738e57558e0ec472b2fc3a643b838e5b6e88f",
+                "url": "https://chromium.googlesource.com/external/smhasher.git"
             },
             "src/third_party/snappy/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-5fV6NfO8vmqK+iCwpLtE2YjYOzjsshctauyjNIOxrH0=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/snappy.git",
-                "rev": "c9f9edf6d75bb065fa47468bf035e051a57bec7c"
+                "rev": "c9f9edf6d75bb065fa47468bf035e051a57bec7c",
+                "url": "https://chromium.googlesource.com/external/github.com/google/snappy.git"
+            },
+            "src/third_party/speedometer/v3.0": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-FDsK5sNy3YOrmaGpN3AhSExzBY9D8RGwoZKkjg/5vo0=",
+                "rev": "2ee210ca20767c949c4ff29bdffa1138eb0501fe",
+                "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git"
             },
             "src/third_party/sqlite/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-wKsfwZpDRQzYQp6qls07uapgy9K3TWLOEUQlhIFpJtw=",
-                "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git",
-                "rev": "cd9486849ba3c3ec753f556fd29c0aabee122a28"
+                "hash": "sha256-brDFYmagGIH7fvRAP/JaCAMyuFLJKrc0jf0106gofiw=",
+                "rev": "a5270ae741714a5aad187ba8dcd8bddca39f791f",
+                "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git"
+            },
+            "src/third_party/squirrel.mac": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-4GfKQg0u3c9GI+jl3ixESNqWXQJKRMi+00QT0s2Shqw=",
+                "owner": "Squirrel",
+                "repo": "Squirrel.Mac",
+                "rev": "0e5d146ba13101a1302d59ea6e6e0b3cace4ae38"
+            },
+            "src/third_party/squirrel.mac/vendor/Mantle": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-ogFkMJybf2Ue606ojXJu6Gy5aXSi1bSKm60qcTAIaPk=",
+                "owner": "Mantle",
+                "repo": "Mantle",
+                "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
+            },
+            "src/third_party/squirrel.mac/vendor/ReactiveObjC": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-/MCqC1oFe3N9TsmfVLgl+deR6qHU6ZFQQjudb9zB5Mo=",
+                "owner": "ReactiveCocoa",
+                "repo": "ReactiveObjC",
+                "rev": "74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76"
             },
             "src/third_party/swiftshader": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Im4sdDo4b96YQIKDcAmqUk8PiJzejZgSDPur3hqPPRk=",
-                "url": "https://swiftshader.googlesource.com/SwiftShader.git",
-                "rev": "d9ec9befba05a8dfca09c1e88f3f7be0e4b153c6"
+                "hash": "sha256-k0WzWDa/+48ogpbmECNDJKIED4wGu/Hm0DyGnCT9xoU=",
+                "rev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f",
+                "url": "https://swiftshader.googlesource.com/SwiftShader.git"
             },
             "src/third_party/text-fragments-polyfill/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-4rW2u1cQAF4iPWHAt1FvVXIpz2pmI901rEPks/w/iFA=",
-                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git",
-                "rev": "c036420683f672d685e27415de0a5f5e85bdc23f"
+                "rev": "c036420683f672d685e27415de0a5f5e85bdc23f",
+                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git"
             },
             "src/third_party/tflite/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-119/isDtopnj6MBRr3bzBvIppXw8M/ejcPx0CmIjXZU=",
-                "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
-                "rev": "21e56c30e480ac67bed48335a5d122c59a6a6805"
+                "hash": "sha256-LOQH+qtltrahcPIutw/zYvEhmvbSjFBWT1mrg/pUD/0=",
+                "rev": "296f1e3cce03308c7fd5cdc7a76fbc3e41ec5214",
+                "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git"
+            },
+            "src/third_party/ukey2/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-aaLs6ZS+CdBlCJ6ZhsmdAPFxiBIij6oufsDcNeRSV1E=",
+                "rev": "0275885d8e6038c39b8a8ca55e75d1d4d1727f47",
+                "url": "https://chromium.googlesource.com/external/github.com/google/ukey2.git"
             },
             "src/third_party/vulkan-deps": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-lqCUx70IeHZ7YfE9DXia7dFok/JsFu/HSIv2AGi37YI=",
-                "url": "https://chromium.googlesource.com/vulkan-deps",
-                "rev": "2b783ed328d3a46e6a7a21218ced6b4dd1684114"
+                "hash": "sha256-bxg82G3dkugLXpTkfk/kNcKHKWn2i8+cCKPgfbaIVZ8=",
+                "rev": "c00c99b8e979ca1b1eba221a60cb1e1d3b12f956",
+                "url": "https://chromium.googlesource.com/vulkan-deps"
             },
             "src/third_party/vulkan-deps/glslang/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+Qs+Q3p11y9oUKyWEbuaQ0vx6hppFZSFbFuU0ve6rRo=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
-                "rev": "ebb0a8b28e5ea7a13146a24b3ad87b1966dbdfa3"
+                "hash": "sha256-QKSPJuIJe44vVNZ8fjqRKc73CZV0fECcnXvY6QRec+0=",
+                "rev": "57d86ab763da7b2cd1e00ecec8aa697403a8fd20",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang"
             },
             "src/third_party/vulkan-deps/spirv-cross/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-UIk5hihUPjXNzEeO2laS4dUef/rEExxXAZjMcftx+3A=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
-                "rev": "2de1265fca722929785d9acdec4ab728c47a0254"
+                "hash": "sha256-VxwAs6mNOK/46VIJ0BroR41cNy2ywU+FQCgBatY1sBY=",
+                "rev": "b82536766d1b81631b126d1ddbe49baf42929bd3",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross"
             },
             "src/third_party/vulkan-deps/spirv-headers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-JLFVzFNdXqxyKmg3NymIqqZmf2GAb7tYetQ6HJPsUIQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
-                "rev": "88bc5e321c2839707df8b1ab534e243e00744177"
+                "hash": "sha256-TVfaGY9YjVHvR38OvuphsS68UIpBF21ghBg/2LL3gmE=",
+                "rev": "7b0309708da5126b89e4ce6f19835f36dc912f2f",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers"
             },
             "src/third_party/vulkan-deps/spirv-tools/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+HUDsp0COKlPtKidOVvUk7lN1AiFw01i5ANc3MO+qjs=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
-                "rev": "5084f58e5d187b16f84d2af936ff94ea2f46a00c"
+                "hash": "sha256-yUaUBCj3MqBwkGNC8ElJ/uvcm0Pl5BAdiWAw/Pi52Xo=",
+                "rev": "c96fe8b943564fbab3424219d924d21cac2e877a",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools"
             },
             "src/third_party/vulkan-deps/vulkan-headers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-UlaNc1NxTYulrF4Ol0rLysbLwbFR46Evq7WkWncPB8k=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
-                "rev": "f4bfcd885214675a6a0d7d4df07f52b511e6ea16"
+                "hash": "sha256-kBOkj7mr4stPXUCBhNJpNL3A+9BebEwrIBEIroxdH8Y=",
+                "rev": "217e93c664ec6704ec2d8c36fa116c1a4a1e2d40",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers"
             },
             "src/third_party/vulkan-deps/vulkan-loader/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-GbVr8LmwC6r7a13++5cYJXAq+H4P07quEHpTUV1qfqA=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
-                "rev": "7b7d15bc9f1d782e4d6ea34e61fd9a36a7952208"
+                "hash": "sha256-qvpwu4mmmLAFolLZt5q9XYgZff6BHO2Yapg93JUpBVA=",
+                "rev": "0b2b71306aebf1e11304b9f961f9a29ab0234756",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader"
             },
             "src/third_party/vulkan-deps/vulkan-tools/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-vnrhYM7tcDTcXH4A+2leio5Wc1+b5H+7CQISEI+SPV8=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
-                "rev": "f7017f23337b90a2b2ceb65a4e1050e8ad89e065"
+                "hash": "sha256-C4xJwYkMqzmYk6lP7SQNXhCt6FyuH4+pqOHltuxJkOA=",
+                "rev": "7c6d640a5ca3ab73c1f42d22312f672b54babfaf",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools"
             },
             "src/third_party/vulkan-deps/vulkan-utility-libraries/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-buxOdupK/w1sFGGHrEI+On2/mR0q5whvQNKUI8dxJ60=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries",
-                "rev": "dcfce25b439a2785f2c90b184e1964898070b4f1"
+                "hash": "sha256-gvia+Xb9BpOjPARKo3Sgp85Bfh1roFZ2PzCtXVFYeIU=",
+                "rev": "4cfc176e3242b4dbdfd3f6c5680c5d8f2cb7db45",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries"
             },
             "src/third_party/vulkan-deps/vulkan-validation-layers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-LJd7pkcFd8k4npEv8mJy+47xo/5CXMN75ZAtDp+v6FI=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
-                "rev": "281e1c1c6b51bb6b33f88c18ed4da58ac3024311"
+                "hash": "sha256-6YUjvPKjuuZdhBRfM+84btXvAHR2rj7ovocZnLS31JY=",
+                "rev": "d26b50b03815ff226e6df478b4ddc4b98d8deaee",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers"
             },
             "src/third_party/vulkan_memory_allocator": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-YzxHZagz/M8Y54UnI4h1wu5jSTuaOgv0ifC9d3fJZlQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
-                "rev": "56300b29fbfcc693ee6609ddad3fdd5b7a449a21"
+                "rev": "56300b29fbfcc693ee6609ddad3fdd5b7a449a21",
+                "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
             },
-            "src/third_party/wayland/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-0ICSMZhnsLqMNfqSGjqM3p4ssxptkBtt7EMCpxknW4A=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git",
-                "rev": "3fda2fbf51db54398c0155facee82cc9533958a2"
-            },
-            "src/third_party/wayland-protocols/src": {
+            "src/third_party/wayland-protocols/gtk": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3QK+ZN6IFUFkDxySSoQwP1J3JnTlD7JPaUk6Tr/d/k4=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git",
-                "rev": "4624cfaaf563cd7be5e2e2087c8de6d3a48ea867"
+                "hash": "sha256-75XNnLkF5Lt1LMRGT+T61k0/mLa3kkynfN+QWvZ0LiQ=",
+                "rev": "40ebed3a03aef096addc0af09fec4ec529d882a0",
+                "url": "https://chromium.googlesource.com/external/github.com/GNOME/gtk.git"
             },
             "src/third_party/wayland-protocols/kde": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-Dmcp/2ms/k7NxPPmPkp0YNfM9z2Es1ZO0uX10bc7N2Y=",
-                "url": "https://chromium.googlesource.com/external/github.com/KDE/plasma-wayland-protocols.git",
-                "rev": "0b07950714b3a36c9b9f71fc025fc7783e82926e"
+                "rev": "0b07950714b3a36c9b9f71fc025fc7783e82926e",
+                "url": "https://chromium.googlesource.com/external/github.com/KDE/plasma-wayland-protocols.git"
             },
-            "src/third_party/wayland-protocols/gtk": {
+            "src/third_party/wayland-protocols/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-75XNnLkF5Lt1LMRGT+T61k0/mLa3kkynfN+QWvZ0LiQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/GNOME/gtk.git",
-                "rev": "40ebed3a03aef096addc0af09fec4ec529d882a0"
+                "hash": "sha256-ljMcY59iOdGYeToadCuQ3t0lrBnsBdot+NiT6e+JJ04=",
+                "rev": "681c33c8547d6aefe24455ba2bffe1c5ae11fee5",
+                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git"
+            },
+            "src/third_party/wayland/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-By+3qSfYs4dM4Hcjq2j4ZlSSPhagwqtNl//HKMrc5LY=",
+                "rev": "af7f44122127b86a8c74cb7432909180f4899eaa",
+                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git"
             },
             "src/third_party/webdriver/pylib": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-WIqWXIKVgElgg8P8laLAlUrgwodGdeVcwohZxnPKedw=",
-                "url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git",
-                "rev": "fc5e7e70c098bfb189a9a74746809ad3c5c34e04"
+                "rev": "fc5e7e70c098bfb189a9a74746809ad3c5c34e04",
+                "url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git"
             },
             "src/third_party/webgl/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-dubsIPZKBGOzANGvMtQxFKFIHr0laDUGpzgRyEOjHMU=",
-                "url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git",
-                "rev": "f4bf599a8b575df685c31d9c4729a70a04e377ed"
+                "rev": "f4bf599a8b575df685c31d9c4729a70a04e377ed",
+                "url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git"
             },
             "src/third_party/webgpu-cts/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-E39f0wy72TwQ9IM4QquqWxwDiHZOUI8hWkx2QDFcRog=",
-                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
-                "rev": "3dbe4ce12983ccc1ad42e228057c7d8adc17cb78"
+                "hash": "sha256-RC2t+H44HyIvHLRcZyebSgVZvbmtw0vsy2KJRUlvTKs=",
+                "rev": "e082b08475761a2ba6a3349dfea72f704c8b68d4",
+                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git"
             },
             "src/third_party/webrtc": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ju7sX1jrzg5BZOqdkcnFymRTqdFi7xkeHznKJQB1+08=",
-                "url": "https://webrtc.googlesource.com/src.git",
-                "rev": "5ab829e4ca8f63be6b4ed1d98eee382d7307d34e"
-            },
-            "src/third_party/wuffs/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-HP8Vf1C9DuA9H+busf3lFoF9SsYqviLKv0l73CxmNEI=",
-                "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
-                "rev": "fe9d08f2b6e80af691bfb1a718e144c49a1b9eba"
+                "hash": "sha256-KipyGhohU2fQF67dDm4tPeH9xbFC2FNxhU4yiga5pwg=",
+                "rev": "6b419a0536b1a0ccfff3682f997c6f19bcbd9bd8",
+                "url": "https://webrtc.googlesource.com/src.git"
             },
             "src/third_party/weston/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-y2srFaPUOoB2umzpo4+hFfhNlqXM2AoMGOpUy/ZSacg=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git",
-                "rev": "ccf29cb237c3ed09c5f370f35239c93d07abfdd7"
+                "rev": "ccf29cb237c3ed09c5f370f35239c93d07abfdd7",
+                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git"
+            },
+            "src/third_party/wuffs/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-373d2F/STcgCHEq+PO+SCHrKVOo6uO1rqqwRN5eeBCw=",
+                "rev": "e3f919ccfe3ef542cfc983a82146070258fb57f8",
+                "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git"
             },
             "src/third_party/xdg-utils": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-WuQ9uDq+QD17Y20ACFGres4nbkeOiTE2y+tY1avAT5U=",
-                "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git",
-                "rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44"
+                "rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44",
+                "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git"
             },
             "src/third_party/xnnpack/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-s9Avx9o+1igKulOpKhtbbkoINuh1wNercPszRaA4TZM=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git",
-                "rev": "bbbaa7352a3ea729987d3e654d37be93e8009691"
+                "hash": "sha256-JE3qg3lTpKTLgnpiNw6+wkhVXGx55MiyVDuvEp7Dk0Y=",
+                "rev": "a68aa0a24b0d3e1c75f2f7c0915b70121cee0470",
+                "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git"
             },
-            "src/tools/page_cycler/acid3": {
+            "src/third_party/zstd/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-s/49EaYQRsyxuLejXc1zGDYTD7uO0ddaQIJBP50Bvw0=",
-                "url": "https://chromium.googlesource.com/chromium/deps/acid3.git",
-                "rev": "a926d0a32e02c4c03ae95bb798e6c780e0e184ba"
+                "hash": "sha256-9FxRLrcbJoWAd+3Elr9mJ3vG6ilT6ZQZqdY9OiTpcWw=",
+                "rev": "050fec5c378d676fede8b2171ec5e84f6afa1504",
+                "url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git"
             },
-            "src/third_party/zstd/src": {
+            "src/tools/page_cycler/acid3": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-95OOpYKGve+YWzqqguQIg1emTOAuaGyYpWxrWVDOKAQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git",
-                "rev": "cdceb0fce59785c841bf697e00067163106064e1"
+                "hash": "sha256-s/49EaYQRsyxuLejXc1zGDYTD7uO0ddaQIJBP50Bvw0=",
+                "rev": "a926d0a32e02c4c03ae95bb798e6c780e0e184ba",
+                "url": "https://chromium.googlesource.com/chromium/deps/acid3.git"
             },
             "src/v8": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-GevDXfVX4UxwTbgp2ZQbp3AFOHv5tECmyqLGIyYi5Tw=",
-                "url": "https://chromium.googlesource.com/v8/v8.git",
-                "rev": "71b6b5a68e0883c155e01368aace6eb6d71b85f3"
-            },
-            "src/third_party/nan": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-cwti+BWmF/l/dqa/cN0C587EK4WwRWcWy6gjFVkaMTg=",
-                "owner": "nodejs",
-                "repo": "nan",
-                "rev": "e14bdcd1f72d62bca1d541b66da43130384ec213"
-            },
-            "src/third_party/electron_node": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-yvMU6dXRzHP7l6axo3g4svJ1H2edtFvX2MVMm3K1bEc=",
-                "owner": "nodejs",
-                "repo": "node",
-                "rev": "v18.18.2"
-            },
-            "src/third_party/squirrel.mac": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-4GfKQg0u3c9GI+jl3ixESNqWXQJKRMi+00QT0s2Shqw=",
-                "owner": "Squirrel",
-                "repo": "Squirrel.Mac",
-                "rev": "0e5d146ba13101a1302d59ea6e6e0b3cace4ae38"
-            },
-            "src/third_party/squirrel.mac/vendor/ReactiveObjC": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-/MCqC1oFe3N9TsmfVLgl+deR6qHU6ZFQQjudb9zB5Mo=",
-                "owner": "ReactiveCocoa",
-                "repo": "ReactiveObjC",
-                "rev": "74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76"
-            },
-            "src/third_party/squirrel.mac/vendor/Mantle": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-ogFkMJybf2Ue606ojXJu6Gy5aXSi1bSKm60qcTAIaPk=",
-                "owner": "Mantle",
-                "repo": "Mantle",
-                "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
+                "hash": "sha256-qDQ1rt/9nfv9L6RJLZDb1KTn9+Z70XDjkTs6gOt3u/Y=",
+                "rev": "ddb4756a90fb7d89dc789859f8b2a3639d8de125",
+                "url": "https://chromium.googlesource.com/v8/v8.git"
             }
         },
-        "version": "28.3.1",
-        "modules": "119",
-        "chrome": "120.0.6099.291",
-        "node": "18.18.2",
+        "electron_yarn_hash": "0f868gk3d2cablpczav8a4vhk4nfirph45yzjz18mgzgday7w8hf",
+        "modules": "121",
+        "node": "20.9.0",
+        "version": "29.4.2"
+    },
+    "30": {
+        "chrome": "124.0.6367.243",
         "chromium": {
-            "version": "120.0.6099.291",
             "deps": {
                 "gn": {
-                    "version": "2023-10-23",
+                    "hash": "sha256-aEL1kIhgPAFqdb174dG093HoLhCJ07O1Kpqfu7r14wQ=",
+                    "rev": "22581fb46c0c0c9530caa67149ee4dd8811063cf",
                     "url": "https://gn.googlesource.com/gn",
-                    "rev": "e4702d7409069c4f12d45ea7b7f0890717ca3f4b",
-                    "hash": "sha256-dwluGOfq05swtBM5gg4a6gY3IpFHaKKkD0TV1XW7c7k="
+                    "version": "2024-03-14"
                 }
-            }
+            },
+            "version": "124.0.6367.243"
         },
-        "chromium_npm_hash": "sha256-zexxXAAJDnhMmh7HfBO1V1z1Yds06C3gSpXacsbjUb4=",
-        "electron_yarn_hash": "117vxam1044yy2akwjfhvb5dpfnv667pwbg92ac43551xfn0slcg"
-    },
-    "27": {
+        "chromium_npm_hash": "sha256-oILlQlzTcc0YqAvK5htRvG/YXWJTDtJ60Z1EcBEj9dw=",
         "deps": {
-            "src/electron": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-DmDAKUUyiDASGGylDVQe2OkDVfiA1ficDG+oaMbKqdo=",
-                "owner": "electron",
-                "repo": "electron",
-                "rev": "v27.3.11"
-            },
             "src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3yFHjd3LMXVbF4LX6Bi3yJF0CDVug0cDpGFbP8Ibvk4=",
-                "url": "https://chromium.googlesource.com/chromium/src.git",
-                "rev": "118.0.5993.159",
-                "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; "
-            },
-            "src/third_party/clang-format/script": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-7VvofDDQe+SoMRBfVk26q+C+OPyOE7QH35wVWkfDKxs=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git",
-                "rev": "e5337933f2951cacd3aeacd238ce4578163ca0b9"
-            },
-            "src/third_party/libc++/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-YP1LAUaV8epDAsd9LOovdXUyzpaLgffOJcGM6VmTaKc=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
-                "rev": "84fb809dd6dae36d556dc0bb702c6cc2ce9d4b80"
-            },
-            "src/third_party/libc++abi/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-CBUw50T/jFMXU0cR+BQH6JyEY3mHamLM6kA8YdvI24Q=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git",
-                "rev": "331847d7a5e6f8706689cf5d468e6e58c868fa10"
-            },
-            "src/third_party/libunwind/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-rqmY4JNm4zuYqXs7o+1QhNnaNX4Cmt7PTJMGploHPnY=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
-                "rev": "a321409e66c212098e755cfae1a978bbcff1ccbb"
+                "hash": "sha256-YrAJnuNig6v87+eNnZ2W+PCzxjGe5CuymF6ul/v9SCk=",
+                "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; ",
+                "rev": "124.0.6367.243",
+                "url": "https://chromium.googlesource.com/chromium/src.git"
             },
             "src/chrome/test/data/perf/canvas_bench": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-svOuyBGKloBLM11xLlWCDsB4PpRjdKTBdW2UEW4JQjM=",
-                "url": "https://chromium.googlesource.com/chromium/canvas_bench.git",
-                "rev": "a7b40ea5ae0239517d78845a5fc9b12976bfc732"
+                "rev": "a7b40ea5ae0239517d78845a5fc9b12976bfc732",
+                "url": "https://chromium.googlesource.com/chromium/canvas_bench.git"
             },
             "src/chrome/test/data/perf/frame_rate/content": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-t4kcuvH0rkPBkcdiMsoNQaRwU09eU+oSvyHDiAHrKXo=",
-                "url": "https://chromium.googlesource.com/chromium/frame_rate/content.git",
-                "rev": "c10272c88463efeef6bb19c9ec07c42bc8fe22b9"
+                "rev": "c10272c88463efeef6bb19c9ec07c42bc8fe22b9",
+                "url": "https://chromium.googlesource.com/chromium/frame_rate/content.git"
             },
             "src/chrome/test/data/xr/webvr_info": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-BsAPwc4oEWri0TlqhyxqFNqKdfgVSrB0vQyISmYY4eg=",
-                "url": "https://chromium.googlesource.com/external/github.com/toji/webvr.info.git",
-                "rev": "c58ae99b9ff9e2aa4c524633519570bf33536248"
+                "rev": "c58ae99b9ff9e2aa4c524633519570bf33536248",
+                "url": "https://chromium.googlesource.com/external/github.com/toji/webvr.info.git"
             },
             "src/docs/website": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6/LSJGUVZuJe1WIBJEJO/dXZYnsby+X3EzeBbvWjUZU=",
-                "url": "https://chromium.googlesource.com/website.git",
-                "rev": "243c1406199960e001e1dceccafc6fc2db6897f9"
+                "hash": "sha256-2WyiSqza9Mp2G8KHUnrzfikC7hGcUTLu4/W9AD6Zdi4=",
+                "rev": "02057aa20e0dd4598967e3daf2f25c815962ef1c",
+                "url": "https://chromium.googlesource.com/website.git"
+            },
+            "src/electron": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-VWc9I5wpQYv13I1xgLQVqDg6IfXMinrzJmkMaIsEY90=",
+                "owner": "electron",
+                "repo": "electron",
+                "rev": "v30.1.1"
             },
             "src/media/cdm/api": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-6J6aSYW0or99VAgMNJJOdJqMJspoG7w1HxDN50MV5bw=",
-                "url": "https://chromium.googlesource.com/chromium/cdm.git",
-                "rev": "fef0b5aa1bd31efb88dfab804bdbe614f3d54f28"
+                "rev": "fef0b5aa1bd31efb88dfab804bdbe614f3d54f28",
+                "url": "https://chromium.googlesource.com/chromium/cdm.git"
             },
             "src/net/third_party/quiche/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-hB3gUqi/9SI9PGNkXNpli/TifI1kJEBScqRFIw7hm4c=",
-                "url": "https://quiche.googlesource.com/quiche.git",
-                "rev": "7d201495d8a5ef115787765fb12af0d5575281c1"
+                "hash": "sha256-BJ3CCKFHOcIgIqnYxfjfOqbRhnt9ycrZfAFRZOLPYZQ=",
+                "rev": "9f8738892edd83219d2f83fdd73c7c14d5dbb80d",
+                "url": "https://quiche.googlesource.com/quiche.git"
+            },
+            "src/third_party/accessibility_test_framework/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-mzVgoxxBWebesG6okyMxxmO6oH+TITA4o9ucHHMMzkQ=",
+                "rev": "4a764c690353ea136c82f1a696a70bf38d1ef5fe",
+                "url": "https://chromium.googlesource.com/external/github.com/google/Accessibility-Test-Framework-for-Android.git"
             },
             "src/third_party/angle": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-It05E3+qG17dEbhbaX/VQJaydWOQ1mpsj95dT5IJkgo=",
-                "url": "https://chromium.googlesource.com/angle/angle.git",
-                "rev": "05f45adc147393562b518ca1f82a3ccba7ee40f7"
+                "hash": "sha256-MFXZ7gEO8vHFHtjzzLSgGlB9AKx+hndPfmwsE5XHGXo=",
+                "rev": "bda89e1f7c7195a9d03d037039c2dd5057563a59",
+                "url": "https://chromium.googlesource.com/angle/angle.git"
+            },
+            "src/third_party/angle/third_party/VK-GL-CTS/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-eQvZmm6aAsI+z++SMM9i/SsREjikIjMLpedzw57eKyA=",
+                "rev": "ec9827528085fcffca353c8d941ec20e3de7aaea",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS"
             },
             "src/third_party/angle/third_party/glmark2/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-L7+zWM0qn8WFhmON7DGvarTsN1YHt1sn5+hazTOZrrk=",
-                "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
-                "rev": "ca8de51fedb70bace5351c6b002eb952c747e889"
+                "rev": "ca8de51fedb70bace5351c6b002eb952c747e889",
+                "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2"
             },
             "src/third_party/angle/third_party/rapidjson/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-btUl1a/B0sXwf/+hyvCvVJjWqIkXfVYCpHm3TeBuOxk=",
-                "url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson",
-                "rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f"
-            },
-            "src/third_party/angle/third_party/VK-GL-CTS/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-LWGll3KiMYndiLZBizhN+mzELjYpSxvtIctH+LO+20Q=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
-                "rev": "385ae8bed1f99e497cdf2f3a5640905b90e69292"
+                "rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f",
+                "url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson"
             },
             "src/third_party/anonymous_tokens/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TcNIocV0p53NJCudvy8wf+fIPIP2tnkoBf1F7mEBFLs=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git",
-                "rev": "8c8d20953d502db31fec2353b199e6c22ef0236e"
-            },
-            "src/third_party/content_analysis_sdk/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-auHBX00DSvyMyhEsZGkpKh9KOO2RcaeP9PK6kmmMYls=",
-                "url": "https://chromium.googlesource.com/external/github.com/chromium/content_analysis_sdk.git",
-                "rev": "8d5118720805fdce0dd3ee2999c964501de4532c"
-            },
-            "src/third_party/dav1d/libdav1d": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-KSo2s3M3S13gY84NlAdnPsjoKfJZy7ipTlWSvUHD9Ak=",
-                "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git",
-                "rev": "f8ae94eca0f53502a2cddd29a263c1edea4822a0"
-            },
-            "src/third_party/dawn": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-7iCJ1h51S/8pxQRMoDtGXzyuP6Dzxnc/1Cu4ALU8NYg=",
-                "url": "https://dawn.googlesource.com/dawn.git",
-                "rev": "deb3b674b26854204c8082ed93926207e42d3cf2"
-            },
-            "src/third_party/dawn/third_party/glfw": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TwAPRjQxIz3J+zbNxzCp5Tek7MwisxdekMpY5QGsKyg=",
-                "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
-                "rev": "62e175ef9fae75335575964c845a302447c012c7"
-            },
-            "src/third_party/dawn/third_party/dxc": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-u29t+pF7aRfhRmi36YyEPcQU7gIDqsjrf38+C0YIpFk=",
-                "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler",
-                "rev": "50c4c887f1ccfa1a4bfb158b7dbc93058659ed01"
-            },
-            "src/third_party/dawn/third_party/dxheaders": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA=",
-                "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers",
-                "rev": "980971e835876dc0cde415e8f9bc646e64667bf7"
-            },
-            "src/third_party/dawn/third_party/khronos/OpenGL-Registry": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry",
-                "rev": "5bae8738b23d06968e7c3a41308568120943ae77"
-            },
-            "src/third_party/dawn/third_party/khronos/EGL-Registry": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Z6DwLfgQ1wsJXz0KKJyVieOatnDmx3cs0qJ6IEgSq1A=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry",
-                "rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071"
-            },
-            "src/third_party/dawn/third_party/webgpu-cts": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-gbZpmcbqLisjLb6vnKKvHS6eRqjqvavvTRgxJsaE/RQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
-                "rev": "5dfa3b88f0863c3949f713804e0461c9cc34a030"
-            },
-            "src/third_party/highway/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-kNb9UVcFq2BIf9nftUgN8ciFFCzRCou/sLwVf08jf3E=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/highway.git",
-                "rev": "8f20644eca693cfb74aa795b0006b6779c370e7a"
+                "hash": "sha256-ZKvfil6V4PexxVl/UCW/mUINlCHBTrZnhTB0UhTW0PQ=",
+                "rev": "321a40ba18a083feccb8ae2f99a8676bb1702676",
+                "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git"
             },
-            "src/third_party/google_benchmark/src": {
+            "src/third_party/beto-core/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-h2ryAQAuHI54Cni88L85e7Np4KATGVTRdDcmUvCNeWc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git",
-                "rev": "b177433f3ee2513b1075140c723d73ab8901790f"
+                "hash": "sha256-7GkqH4hgTVmISjUy/Km/X28tBSsiMs3JRnDmol1zaag=",
+                "rev": "8bd72cfb219344308ee857bcbe65a27fe91acfe8",
+                "url": "https://beto-core.googlesource.com/beto-core.git"
             },
             "src/third_party/boringssl/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-P0Aj2Puy6S1aRIHrAhmokiAmSmHfuWQR6UW/AbQFW+M=",
-                "url": "https://boringssl.googlesource.com/boringssl.git",
-                "rev": "85081c6b3c0b26129893c1bff6bfa42bc3ba2d2c"
+                "hash": "sha256-RiDdH26xzoAD2NdTNKDraco9p2jKHXJxbRWI3pUhI78=",
+                "rev": "4fa4804c8ab4521079af62dba5260a99c34b8a29",
+                "url": "https://boringssl.googlesource.com/boringssl.git"
             },
             "src/third_party/breakpad/breakpad": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-8AkC/8oX4OWAcV21laJ0AeMRB9G04rFc6UJFy7Wus4A=",
-                "url": "https://chromium.googlesource.com/breakpad/breakpad.git",
-                "rev": "8988364bcddd9b194b0bf931c10bc125987330ed"
+                "hash": "sha256-qAIXZ1jZous0Un0jVkOQ66nA2525NziV3Lbso2/+Z1Y=",
+                "rev": "76788faa4ef163081f82273bfca7fae8a734b971",
+                "url": "https://chromium.googlesource.com/breakpad/breakpad.git"
             },
             "src/third_party/cast_core/public/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-AalRQhJmornCqmvE2+36J/3LubaA0jr6P1PXy32lX4I=",
-                "url": "https://chromium.googlesource.com/cast_core/public",
-                "rev": "71f51fd6fa45fac73848f65421081edd723297cd"
+                "rev": "71f51fd6fa45fac73848f65421081edd723297cd",
+                "url": "https://chromium.googlesource.com/cast_core/public"
             },
             "src/third_party/catapult": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-AK85yVeCR3GKGtdW8G9Of+6UMJirJ9BNVyp9pffft7s=",
-                "url": "https://chromium.googlesource.com/catapult.git",
-                "rev": "f16ca3c78e46cefa982100444844da3fcb25390e"
+                "hash": "sha256-HhpP5OeGF9in2XEoZMfMCIAFHAqlDvJpfSWa8JfGWzM=",
+                "rev": "9128ec6d34905512199f953bc60ff75ca29d0cf2",
+                "url": "https://chromium.googlesource.com/catapult.git"
             },
             "src/third_party/ced/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-ySG74Rj2i2c/PltEgHVEDq+N8yd9gZmxNktc56zIUiY=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git",
-                "rev": "ba412eaaacd3186085babcd901679a48863c7dd5"
+                "rev": "ba412eaaacd3186085babcd901679a48863c7dd5",
+                "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git"
             },
             "src/third_party/chromium-variations": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-2lP3uGdqIZY3DpxGzfDhR2dW+o3Arduaeu56Au7h/5Q=",
-                "url": "https://chromium.googlesource.com/chromium-variations.git",
-                "rev": "e0c145ca93c0439a65bcb1607e813edfbc97520b"
+                "hash": "sha256-YwnqJynhunMvIduUcJ1/nBLabe/WS4RDox+XLMYMA2c=",
+                "rev": "e78e275e34f94fdf333245137878f0f6482db67d",
+                "url": "https://chromium.googlesource.com/chromium-variations.git"
+            },
+            "src/third_party/clang-format/script": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-7VvofDDQe+SoMRBfVk26q+C+OPyOE7QH35wVWkfDKxs=",
+                "rev": "e5337933f2951cacd3aeacd238ce4578163ca0b9",
+                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git"
             },
             "src/third_party/cld_3/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-C3MOMBUy9jgkT9BAi/Fgm2UH4cxRuwSBEcRl3hzM2Ss=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/cld_3.git",
-                "rev": "b48dc46512566f5a2d41118c8c1116c4f96dc661"
+                "rev": "b48dc46512566f5a2d41118c8c1116c4f96dc661",
+                "url": "https://chromium.googlesource.com/external/github.com/google/cld_3.git"
             },
             "src/third_party/colorama/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-6ZTdPYSHdQOLYMSnE+Tp7PgsVTs3U2awGu9Qb4Rg/tk=",
-                "url": "https://chromium.googlesource.com/external/colorama.git",
-                "rev": "3de9f013df4b470069d03d250224062e8cf15c49"
+                "rev": "3de9f013df4b470069d03d250224062e8cf15c49",
+                "url": "https://chromium.googlesource.com/external/colorama.git"
+            },
+            "src/third_party/content_analysis_sdk/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-f5Jmk1MiGjaRdLun+v/GKVl8Yv9hOZMTQUSxgiJalcY=",
+                "rev": "9a408736204513e0e95dd2ab3c08de0d95963efc",
+                "url": "https://chromium.googlesource.com/external/github.com/chromium/content_analysis_sdk.git"
             },
             "src/third_party/cpu_features/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-E8LoVzhe+TAmARWZTSuINlsVhzpUJMxPPCGe/dHZcyA=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git",
-                "rev": "936b9ab5515dead115606559502e3864958f7f6e"
+                "rev": "936b9ab5515dead115606559502e3864958f7f6e",
+                "url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git"
             },
             "src/third_party/cpuinfo/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-oZjA2cMQMyhFcI+m6eOmdZ9A1oPAbyISeLxNyaoGivk=",
-                "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git",
-                "rev": "c13d0bbb266d200a13532b5915d704c30d21081b"
+                "hash": "sha256-9QRj4OA1qWlZujVJ6Z9x3190taVjTCZocM/272eepIs=",
+                "rev": "aa4b2163b99ac9534194520f70b93eeefb0b3b4e",
+                "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git"
             },
             "src/third_party/crc32c/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-urg0bmnfMfHagLPELp4WrNCz1gBZ6DFOWpDue1KsMtc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git",
-                "rev": "fa5ade41ee480003d9c5af6f43567ba22e4e17e6"
-            },
-            "src/third_party/cros_system_api": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-wq7fJVNRSiyaADrCYB0TEmWQ//BJg4GYiHZNtMb1QlI=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
-                "rev": "81ac4449008dffea00e4e8f251f87fabc5abe0d3"
-            },
-            "src/third_party/crossbench": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-s/+y5bMj+CRnljFZ5aWKirPCsRUjckLOZ5F65WnPYSY=",
-                "url": "https://chromium.googlesource.com/crossbench.git",
-                "rev": "06981428c28d66678ebec13ca1fac3785cf51bb1"
-            },
-            "src/third_party/depot_tools": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-EXxlQGA7qwjuZ2Qg/rZinkllkdfCbKXz8c4JJEr4mtU=",
-                "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
-                "rev": "7e251262409b3401809e57c5314dd158210355b8"
-            },
-            "src/third_party/devtools-frontend/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-D3W8U19i5pHWPLviMKbpzhiDoF6A0+tClYJcZWdbTqk=",
-                "url": "https://chromium.googlesource.com/devtools/devtools-frontend",
-                "rev": "bcf0ed097be848d234fb5290c1e4d69672dc5405"
-            },
-            "src/third_party/dom_distiller_js/dist": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yuEBD2XQlV3FGI/i7lTmJbCqzeBiuG1Qow8wvsppGJw=",
-                "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
-                "rev": "199de96b345ada7c6e7e6ba3d2fa7a6911b8767d"
-            },
-            "src/third_party/eigen3/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-c/4bf5+sJEgsKOJ34wPDNm1+6QUzETZZr/nE4SG5nKA=",
-                "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
-                "rev": "66e8f38891841bf88ee976a316c0c78a52f0cee5"
-            },
-            "src/third_party/farmhash/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5n58VEUxa/K//jAfZqG4cXyfxrp50ogWDNYcgiXVHdc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git",
-                "rev": "816a4ae622e964763ca0862d9dbd19324a1eaf45"
-            },
-            "src/third_party/ffmpeg": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-uRgHTVaCAEaoqY20SmePQbApPmjimgggm5922KKfnbc=",
-                "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
-                "rev": "0ba37733400593b162e5ae9ff26b384cff49c250"
-            },
-            "src/third_party/flac": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-gvTFPNOlBfozptaH7lTb9iD/09AmpdT3kCl9ClszjEs=",
-                "url": "https://chromium.googlesource.com/chromium/deps/flac.git",
-                "rev": "689da3a7ed50af7448c3f1961d1791c7c1d9c85c"
-            },
-            "src/third_party/flatbuffers/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yibx1WMAwNajROMGVqox3naMU09RSayxUaTCJ860euo=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git",
-                "rev": "28861d1d7d5ec6ce34d4bbdc10bec4aace341167"
-            },
-            "src/third_party/fontconfig/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-7PFmgr/+KNEYxCMuxMD2Zi9Ydcbp88IU7exr55a392Q=",
-                "url": "https://chromium.googlesource.com/external/fontconfig.git",
-                "rev": "2fb3419a92156569bc1ec707401258c922cd0d99"
-            },
-            "src/third_party/fp16/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-m2d9bqZoGWzuUPGkd29MsrdscnJRtuIkLIMp3fMmtRY=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git",
-                "rev": "0a92994d729ff76a58f692d3028ca1b64b145d91"
-            },
-            "src/third_party/gemmlowp/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-O5wD8wxgis0qYMaY+xZ21GBDVQFphMRvInCOswS6inA=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/gemmlowp.git",
-                "rev": "13d57703abca3005d97b19df1f2db731607a7dc2"
-            },
-            "src/third_party/grpc/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-64JEVCx/PCM0dvv7kAQvSjLc0QbRAZVBDzwD/FAV6T8=",
-                "url": "https://chromium.googlesource.com/external/github.com/grpc/grpc.git",
-                "rev": "822dab21d9995c5cf942476b35ca12a1aa9d2737"
-            },
-            "src/third_party/freetype/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-RRieGqEeAk5AYzJqPRpF25FmxMpEYwR7AQWLzXkED50=",
-                "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
-                "rev": "45903920b984540bb629bc89f4c010159c23a89a"
-            },
-            "src/third_party/freetype-testing/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-2aHPchIK5Oce5+XxdXVCC+8EM6i0XT0rFbjSIVa2L1A=",
-                "url": "https://chromium.googlesource.com/external/github.com/freetype/freetype2-testing.git",
-                "rev": "7a69b1a2b028476f840ab7d4a2ffdfe4eb2c389f"
-            },
-            "src/third_party/fxdiv/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-LjX5kivfHbqCIA5pF9qUvswG1gjOFo3CMpX0VR+Cn38=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git",
-                "rev": "63058eff77e11aa15bf531df5dd34395ec3017c8"
-            },
-            "src/third_party/harfbuzz-ng/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+fClyD9Rsge9qdGF8WCv8taLTWNL8iManpXZUzDL2LM=",
-                "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
-                "rev": "db700b5670d9475cc8ed4880cc9447b232c5e432"
-            },
-            "src/third_party/emoji-segmenter/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-oT9mAKoKnrsFsBAeTRfPOXM76HRQQabFAlPpfKUGFhs=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git",
-                "rev": "9ba6d25d0d9313569665d4a9d2b34f0f39f9a50e"
-            },
-            "src/third_party/ots/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-kiUXrXsaGOzPkKh0dVmU1I13WHt0Stzj7QLMqHN9FbU=",
-                "url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git",
-                "rev": "46bea9879127d0ff1c6601b078e2ce98e83fcd33"
-            },
-            "src/third_party/libgav1/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-dT8/Mdit3Qc5Sno6DYKv1qSNr+6Lhiy24ZNNBKoVq8I=",
-                "url": "https://chromium.googlesource.com/codecs/libgav1.git",
-                "rev": "df0023cc95b8e606a2fd243522d823401ef86637"
-            },
-            "src/third_party/googletest/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-VYRjcM3dDY2FarviXyFMgSkXCqKfWXwtGAj2Msgm7zg=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git",
-                "rev": "af29db7ec28d6df1c7f0f745186884091e602e07"
-            },
-            "src/third_party/hunspell_dictionaries": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-67mvpJRFFa9eMfyqFMURlbxOaTJBICnk+gl0b0mEHl8=",
-                "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git",
-                "rev": "41cdffd71c9948f63c7ad36e1fb0ff519aa7a37e"
-            },
-            "src/third_party/icu": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9yFRBrHdWcYgrZAaigS8XnxNsqJNklGdFkAAgVdHXFU=",
-                "url": "https://chromium.googlesource.com/chromium/deps/icu.git",
-                "rev": "a622de35ac311c5ad390a7af80724634e5dc61ed"
-            },
-            "src/third_party/jsoncpp/source": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q=",
-                "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git",
-                "rev": "42e892d96e47b1f6e29844cc705e148ec4856448"
-            },
-            "src/third_party/leveldatabase/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TTX2FrmcWsgqrh4uzqMyGnnnG51cVC2ILfdLxD65MLY=",
-                "url": "https://chromium.googlesource.com/external/leveldb.git",
-                "rev": "068d5ee1a3ac40dabd00d211d5013af44be55bea"
-            },
-            "src/third_party/libFuzzer/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Zp8Ea/7GwmEl964MEIk3UM6IR5+FtUz8InlqZaOniDA=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git",
-                "rev": "26cc39e59b2bf5cbc20486296248a842c536878d"
-            },
-            "src/third_party/fuzztest/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-tVtrSbLxnHrbh027cafNbqkfjq/afQxw57rW9yGsRe0=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git",
-                "rev": "25f44f341f701eccc29d22f69313a54363c6099b"
-            },
-            "src/third_party/libaddressinput/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-xvUUQSPrvqUp5DI9AqlRTWurwDW087c6v4RvI+4sfOQ=",
-                "url": "https://chromium.googlesource.com/external/libaddressinput.git",
-                "rev": "e8712e415627f22d0b00ebee8db99547077f39bd"
-            },
-            "src/third_party/libaom/source/libaom": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Z8td6FIvHibTQsB6x/A/69xduogj2b2lteiQB6l56vE=",
-                "url": "https://aomedia.googlesource.com/aom.git",
-                "rev": "5f8db64abce68a3698fb732697ae50880bc9cac4"
-            },
-            "src/third_party/libavif/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-KfRRGTS8kBwi9Z9wafpSwL29RU38THG2xBCvNBXtZtg=",
-                "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git",
-                "rev": "b2d36b1c3bfc806694cd4ff0cb188270823fe6d8"
-            },
-            "src/third_party/libavifinfo/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yTv1AGtWfxXcywZycpsQBkBRLwuUJMPFKtpj7nrsc4A=",
-                "url": "https://aomedia.googlesource.com/libavifinfo.git",
-                "rev": "707919b2f8ac1920b2f7ae252c233f9c6dcf84e1"
-            },
-            "src/third_party/nearby/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5d7c8WvkjmBuwcwqhxQf0wRE3qaF8fFsiqUE1sHh0nc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git",
-                "rev": "8725391822b8901784b379a4573ab8828e7091d3"
-            },
-            "src/third_party/beto-core/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-qgsPK7RyVqGRji0sTcMck1JqX9iCsYIExGoGwNZyVT0=",
-                "url": "https://beto-core.googlesource.com/beto-core.git",
-                "rev": "b902b346037ea3f4aadf8177021f6f917b16e648"
-            },
-            "src/third_party/securemessage/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-GS4ccnuiqxMs/LVYAtvSlVAYFp4a5GoZsxcriTX3k78=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git",
-                "rev": "fa07beb12babc3b25e0c5b1f38c16aa8cb6b8f84"
-            },
-            "src/third_party/speedometer/v3.0": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-PqrwtPFU3TI840za3UU8p+t4ZdyX0l79esEA602Mbq0=",
-                "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git",
-                "rev": "5107c739c1b2a008e7293e3b489c4f80a8fb2e01"
-            },
-            "src/third_party/ukey2/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-aaLs6ZS+CdBlCJ6ZhsmdAPFxiBIij6oufsDcNeRSV1E=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/ukey2.git",
-                "rev": "0275885d8e6038c39b8a8ca55e75d1d4d1727f47"
+                "rev": "fa5ade41ee480003d9c5af6f43567ba22e4e17e6",
+                "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git"
             },
             "src/third_party/cros-components/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-s8pfcu5SkxXFCat76TJaDi1NTTQckZ1F+T8URCxOUdI=",
-                "url": "https://chromium.googlesource.com/external/google3/cros_components.git",
-                "rev": "bf7aaccb73b26c11e8bf21cb7d90314338e1743f"
-            },
-            "src/third_party/libdrm/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-NUxS2rBJ0nFblvHRQUfKT933+DAws5RUTDb+RLxRF4M=",
-                "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git",
-                "rev": "98e1db501173303e58ef6a1def94ab7a2d84afc1"
-            },
-            "src/third_party/expat/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-FXTDGAK03jc2wvazhRKqtsFRKZUYS/9HLpZNp4JfZJI=",
-                "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
-                "rev": "441f98d02deafd9b090aea568282b28f66a50e36"
-            },
-            "src/third_party/libipp/libipp": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-gxU92lHLd6uxO8T3QWhZIK0hGy97cki705DV0VimCPY=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git",
-                "rev": "2209bb84a8e122dab7c02fe66cc61a7b42873d7f"
-            },
-            "src/third_party/libjpeg_turbo": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-bcmp8RqQYp4lRI9NfdfYgrAJsDLecJEhgRu9oosB9lQ=",
-                "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
-                "rev": "30bdb85e302ecfc52593636b2f44af438e05e784"
-            },
-            "src/third_party/liblouis/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-EI/uaHXe0NlqdEw764q0SjerThYEVLRogUlmrsZwXnY=",
-                "url": "https://chromium.googlesource.com/external/liblouis-github.git",
-                "rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376"
-            },
-            "src/third_party/libphonenumber/dist": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3hSnTFTD3KAdbyxfKg12qbIYTmw6YlTCH64gMP/HUJo=",
-                "url": "https://chromium.googlesource.com/external/libphonenumber.git",
-                "rev": "140dfeb81b753388e8a672900fb7a971e9a0d362"
-            },
-            "src/third_party/libprotobuf-mutator/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ZyPweW+V5foxFQwjjMLkaRUo+FNV+kEDGIH/4oRV614=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git",
-                "rev": "a304ec48dcf15d942607032151f7e9ee504b5dcf"
-            },
-            "src/third_party/libsrtp": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-pfLFh2JGk/g0ZZxBKTaYW9/PBpkCm0rtJeyNePUMTTc=",
-                "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git",
-                "rev": "5b7c744eb8310250ccc534f3f86a2015b3887a0a"
-            },
-            "src/third_party/libsync/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Mkl6C1LxF3RYLwYbxiSfoQPt8QKFwQWj/Ati2sNJ32E=",
-                "url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git",
-                "rev": "f4f4387b6bf2387efbcfd1453af4892e8982faf6"
-            },
-            "src/third_party/libvpx/source/libvpx": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5x0Sk8/DXaTCIydK79vWZgIx3IHeQbLUxoNyE7E+Sdo=",
-                "url": "https://chromium.googlesource.com/webm/libvpx.git",
-                "rev": "38a707faef72eeff89d669c553e7bfe9e08dba8f"
-            },
-            "src/third_party/libwebm/source": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-u/5nkJed0DzdhR5OLL2kIhZhOnrbyzL1Kx37vV/jcEo=",
-                "url": "https://chromium.googlesource.com/webm/libwebm.git",
-                "rev": "e4fbea0c9751ae8aa86629b197a28d8276a2b0da"
-            },
-            "src/third_party/libwebp/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-79peh0y3eeiW5cVQqVq0mUgDcGZ9BlY+OXkPZylKARY=",
-                "url": "https://chromium.googlesource.com/webm/libwebp.git",
-                "rev": "2af26267cdfcb63a88e5c74a85927a12d6ca1d76"
-            },
-            "src/third_party/libyuv": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-jxs9kHI40gRFhm9cU6uS1Rxj+LLUUqT9b3myihxgW7s=",
-                "url": "https://chromium.googlesource.com/libyuv/libyuv.git",
-                "rev": "04821d1e7d60845525e8db55c7bcd41ef5be9406"
-            },
-            "src/third_party/lss": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-hE8uZf9Fst66qJkoVYChiB8G41ie+k9M4X0W+5JUSdw=",
-                "url": "https://chromium.googlesource.com/linux-syscall-support.git",
-                "rev": "ce877209e11aa69dcfffbd53ef90ea1d07136521"
-            },
-            "src/third_party/material_color_utilities/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-oi28dWuTd6ijn/RKSPukDr5GSzYiCTM2klFb7WSMDHY=",
-                "url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git",
-                "rev": "234a000e507d586c20df6e3bf5b9e035bc5ce7b1"
-            },
-            "src/third_party/minigbm/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9HwvjTETerbQ7YKXH9kUB2eWa8PxGWMAJfx1jAluhrs=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git",
-                "rev": "3018207f4d89395cc271278fb9a6558b660885f5"
-            },
-            "src/third_party/nasm": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-L+b3X3vsfpY6FSlIK/AHhxhmq2cXd50vND6uT6yn8Qs=",
-                "url": "https://chromium.googlesource.com/chromium/deps/nasm.git",
-                "rev": "7fc833e889d1afda72c06220e5bed8fb43b2e5ce"
-            },
-            "src/third_party/neon_2_sse/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-299ZptvdTmCnIuVVBkrpf5ZTxKPwgcGUob81tEI91F0=",
-                "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git",
-                "rev": "a15b489e1222b2087007546b4912e21293ea86ff"
-            },
-            "src/third_party/openh264/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-J7Eqe2QevZh1xfap19W8AVCcwfRu7ztknnbKFJUAH1c=",
-                "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264",
-                "rev": "09a4f3ec842a8932341b195c5b01e141c8a16eb7"
-            },
-            "src/third_party/openscreen/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TyZ/sZ0gnesWjKUnO2RVM2TTdpVIxsBWueHDgix0/wg=",
-                "url": "https://chromium.googlesource.com/openscreen",
-                "rev": "971d6055e7b78c474e2e734e55a2991fbb7ab665"
-            },
-            "src/third_party/openscreen/src/third_party/tinycbor/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-fMKBFUSKmODQyg4hKIa1hwnEKIV6WBbY1Gb8DOSnaHA=",
-                "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git",
-                "rev": "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7"
-            },
-            "src/third_party/pdfium": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-u+El2jEnvlcQs5j5TthpKj8s255n2AhJPW+Q/s0Ljm0=",
-                "url": "https://pdfium.googlesource.com/pdfium.git",
-                "rev": "6e55da0c45788fdc22fa3aab7ead414fc42b74c1"
-            },
-            "src/third_party/perfetto": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-/8WQO0r10Hz3yLNh1MtjE8rGfzbpDkUowA2OPwEuRvA=",
-                "url": "https://android.googlesource.com/platform/external/perfetto.git",
-                "rev": "43b72e3ce703b676c9c923b04540472d10790f56"
-            },
-            "src/third_party/pthreadpool/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Pfvievhma1rOpbLdSrIX4KaZyRpdvrnjRzzPYl3fDQo=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/pthreadpool.git",
-                "rev": "1787867f6183f056420e532eec640cba25efafea"
-            },
-            "src/third_party/pyelftools": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-I/7p3IEvfP/gkes4kx18PvWwhAKilQKb67GXoW4zFB4=",
-                "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git",
-                "rev": "19b3e610c86fcadb837d252c794cb5e8008826ae"
-            },
-            "src/third_party/quic_trace/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Nf9ZDLcE1JunhbpEMHhrY2ROnbgrvVZoRkPwWq1DU0g=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git",
-                "rev": "caa0a6eaba816ecb737f9a70782b7c80b8ac8dbc"
-            },
-            "src/third_party/pywebsocket3/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-WEqqu2/7fLqcf/2/IcD7/FewRSZ6jTgVlVBvnihthYQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/pywebsocket3.git",
-                "rev": "50602a14f1b6da17e0b619833a13addc6ea78bc2"
-            },
-            "src/third_party/re2/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9V/Q5o24sL1TJUDNifUqpyrQ2zTSrhU0Bxo9qDwd0+4=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/re2.git",
-                "rev": "87d09ef4f0307e53f1d3796843f4b90d41cfccaa"
-            },
-            "src/third_party/ruy/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-hNco0Jol4vQS1bkYiXaoZ1IPHwoRq3DD3iY0TeLygew=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/ruy.git",
-                "rev": "c04e5e52ae6b144f74ac032652e3c538bda15c9b"
-            },
-            "src/third_party/skia": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Ck15ddYoo8pVLHcwW5P8Ei1sBQf23EGd/ySGOVSWAFQ=",
-                "url": "https://skia.googlesource.com/skia.git",
-                "rev": "b4f0c1163c955e42489f62d842585720cf0df0ea"
-            },
-            "src/third_party/smhasher/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-RyC//me08hwGXRrWcK8GZ1uhIkBq4FByA7fHCVDsniw=",
-                "url": "https://chromium.googlesource.com/external/smhasher.git",
-                "rev": "e87738e57558e0ec472b2fc3a643b838e5b6e88f"
-            },
-            "src/third_party/snappy/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5fV6NfO8vmqK+iCwpLtE2YjYOzjsshctauyjNIOxrH0=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/snappy.git",
-                "rev": "c9f9edf6d75bb065fa47468bf035e051a57bec7c"
-            },
-            "src/third_party/sqlite/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-35rSG+ptFMC62FsprLvAqfXZknKu40Ee6H2qpAcA3wI=",
-                "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git",
-                "rev": "b7e480172bb2411f9afedefdcc69a57a12f18b7b"
-            },
-            "src/third_party/swiftshader": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-PCPb5opTATGCCQmw8TGF09TbLL8QES+So+yaL68H//I=",
-                "url": "https://swiftshader.googlesource.com/SwiftShader.git",
-                "rev": "32f9332d1d7aacbdba7c1aa5df894bb1890bb2cc"
-            },
-            "src/third_party/text-fragments-polyfill/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-4rW2u1cQAF4iPWHAt1FvVXIpz2pmI901rEPks/w/iFA=",
-                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git",
-                "rev": "c036420683f672d685e27415de0a5f5e85bdc23f"
-            },
-            "src/third_party/tflite/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3gawK1S5+nr5yOAHgYozLWSoT1TbJmB6Md1fID6du9w=",
-                "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
-                "rev": "91946956f81a2d9fd12a6d6baba20c997d3f8890"
-            },
-            "src/third_party/vulkan-deps": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-xYX77wsgG+2TzS0AinFJndnID5P3/anY4TPh3cjRaIY=",
-                "url": "https://chromium.googlesource.com/vulkan-deps",
-                "rev": "4b7a5f2a3522cbc4e4334cdc64bfaf3f832b89c3"
-            },
-            "src/third_party/vulkan-deps/glslang/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Y9AmEtFPj+sp/a5YnHChqlqgW/1kdaJ1CEbBB5r2cuI=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
-                "rev": "e3a711b6fc942307be7cb634698015dfd13c37fe"
-            },
-            "src/third_party/vulkan-deps/spirv-cross/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-I8RXVat6//rlpmZuuC99Ar/Rct6MFce4FGKgQA2gBj0=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
-                "rev": "54997fb4bc3adeb47b9b9f7bb67f1c25eaca2204"
-            },
-            "src/third_party/vulkan-deps/spirv-headers/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-OqLxyrTzg1Q2zmQd0YalWtl7vX5lRJFmE2VH7fHC8/8=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
-                "rev": "d790ced752b5bfc06b6988baadef6eb2d16bdf96"
-            },
-            "src/third_party/vulkan-deps/spirv-tools/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-wFdAzbOQdOqeuVaWl5036qkli1gkSiL5JHH82Z5cFL4=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
-                "rev": "4c16c35b16bbd462a0e89707ebeecc0bce956b2f"
-            },
-            "src/third_party/vulkan-deps/vulkan-headers/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9+tHkkHsP5ft6+tbofOYV1yBFDpFlJz4Q6YS8c6T5As=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
-                "rev": "2634c969d7dc0e983f005f7f2e665cce8449efe6"
-            },
-            "src/third_party/vulkan-deps/vulkan-loader/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-q7/dYKQ3O0aSs326YbEeLlS+SciFWugBGm/G+b8RNd0=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
-                "rev": "d34bfafff23602e857064bea6d99a35eb63f37f2"
-            },
-            "src/third_party/vulkan-deps/vulkan-tools/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-tcaJmosHwTo38keV5qkumkLB1o1qq8v2ZmSsi2zDGoE=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
-                "rev": "389110e4600669d82bca042859fddf898387c0d2"
-            },
-            "src/third_party/vulkan-deps/vulkan-utility-libraries/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-7M47ZCbNwIppaotMfJTFTRsYNvSZNc0FUufoyXyUu/g=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries",
-                "rev": "dd26ae7065a9ed60c8ab517ed79bf7935394aec7"
-            },
-            "src/third_party/vulkan-deps/vulkan-validation-layers/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-lj6MIQctcK6gsJlLdLwQ9PHbiAtTbNIPinii8vGZdGk=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
-                "rev": "b89f48ae89ec064c91e8b77468cebc18c3faa682"
-            },
-            "src/third_party/vulkan_memory_allocator": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-FdRPPdLZHj3RX3YzcmF58JJuIqeWQV3TDiiXPEW2lsc=",
-                "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
-                "rev": "e87036508bb156f9986ea959323de1869e328f58"
-            },
-            "src/third_party/wayland/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-aVcy7bW1cqEKbowlVgfa9FI8/oG7k5CzPZbRl+cPcX8=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git",
-                "rev": "a8c7553ec9af6462474524fd2bb4e9a7dc7217dd"
-            },
-            "src/third_party/wayland-protocols/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3QK+ZN6IFUFkDxySSoQwP1J3JnTlD7JPaUk6Tr/d/k4=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git",
-                "rev": "4624cfaaf563cd7be5e2e2087c8de6d3a48ea867"
-            },
-            "src/third_party/wayland-protocols/kde": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Dmcp/2ms/k7NxPPmPkp0YNfM9z2Es1ZO0uX10bc7N2Y=",
-                "url": "https://chromium.googlesource.com/external/github.com/KDE/plasma-wayland-protocols.git",
-                "rev": "0b07950714b3a36c9b9f71fc025fc7783e82926e"
-            },
-            "src/third_party/wayland-protocols/gtk": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-75XNnLkF5Lt1LMRGT+T61k0/mLa3kkynfN+QWvZ0LiQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/GNOME/gtk.git",
-                "rev": "40ebed3a03aef096addc0af09fec4ec529d882a0"
-            },
-            "src/third_party/webdriver/pylib": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-WIqWXIKVgElgg8P8laLAlUrgwodGdeVcwohZxnPKedw=",
-                "url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git",
-                "rev": "fc5e7e70c098bfb189a9a74746809ad3c5c34e04"
-            },
-            "src/third_party/webgl/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-h4by/1pp9oQGetZNnc1Rt5X5izgQf8ZUZDfsxQacqC0=",
-                "url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git",
-                "rev": "eab0468fc0405b21e59bea30a441d8e38c9db2b7"
-            },
-            "src/third_party/webgpu-cts/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Wch3opAvU/6rJVptOKxOJssev8NhNpbYZddScTlzuMw=",
-                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
-                "rev": "4c8d2f67ecd03fbd3cb4c517ef8461427b6d635d"
-            },
-            "src/third_party/webrtc": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-KpiNGAue945kGCuQYGhxiWVUFTE1tcntSAXBZdkrE9A=",
-                "url": "https://webrtc.googlesource.com/src.git",
-                "rev": "d8f2b0380b3ec980af35ce4b92ba6a211ec8c76d"
-            },
-            "src/third_party/wuffs/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-HP8Vf1C9DuA9H+busf3lFoF9SsYqviLKv0l73CxmNEI=",
-                "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
-                "rev": "fe9d08f2b6e80af691bfb1a718e144c49a1b9eba"
-            },
-            "src/third_party/weston/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-sfJm1CBGXX13pFcqeOVPqWlXrUfwjRl+rYf2BoT8Bt8=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git",
-                "rev": "775f8a1edf357f59e6b2e284297f396f4fac95a4"
-            },
-            "src/third_party/xdg-utils": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-t3uV9JkkQQIwmezzSoEdTMLSizZdLQB7eLKTRQGH4kQ=",
-                "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git",
-                "rev": "d80274d5869b17b8c9067a1022e4416ee7ed5e0d"
-            },
-            "src/third_party/xnnpack/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-vsn3lrog5affus0qxc4TK2Z/tdd/E6hBYeUQRWoDZPQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git",
-                "rev": "b9d4073a6913891ce9cbd8965c8d506075d2a45a"
-            },
-            "src/tools/page_cycler/acid3": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-s/49EaYQRsyxuLejXc1zGDYTD7uO0ddaQIJBP50Bvw0=",
-                "url": "https://chromium.googlesource.com/chromium/deps/acid3.git",
-                "rev": "a926d0a32e02c4c03ae95bb798e6c780e0e184ba"
-            },
-            "src/third_party/zstd/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yzv/R/GnqlXLeAjBEIev+8uM7MC0HeK0MfppnMTJ7Eg=",
-                "url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git",
-                "rev": "25822342be59d831bad65426ae51f5cc22157b09"
-            },
-            "src/v8": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Fn4HoS7O2J3nGXFyq7r7AheRQzKy80USTQnNnC4rWqM=",
-                "url": "https://chromium.googlesource.com/v8/v8.git",
-                "rev": "36e4828ab658b8ad72f80974883c4c94f6e7012c"
-            },
-            "src/third_party/nan": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-tur5CExvwuSmwqBwH9o8OZWzDuifRybjEb+4/tm6exk=",
-                "owner": "nodejs",
-                "repo": "nan",
-                "rev": "16fa32231e2ccd89d2804b3f765319128b20c4ac"
-            },
-            "src/third_party/electron_node": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-SI4qIix+sXWIS3WJyJoTdPb1cmSIhpLAmfa9iX/5Jlg=",
-                "owner": "nodejs",
-                "repo": "node",
-                "rev": "v18.17.1"
-            },
-            "src/third_party/squirrel.mac": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-4GfKQg0u3c9GI+jl3ixESNqWXQJKRMi+00QT0s2Shqw=",
-                "owner": "Squirrel",
-                "repo": "Squirrel.Mac",
-                "rev": "0e5d146ba13101a1302d59ea6e6e0b3cace4ae38"
-            },
-            "src/third_party/squirrel.mac/vendor/ReactiveObjC": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-/MCqC1oFe3N9TsmfVLgl+deR6qHU6ZFQQjudb9zB5Mo=",
-                "owner": "ReactiveCocoa",
-                "repo": "ReactiveObjC",
-                "rev": "74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76"
-            },
-            "src/third_party/squirrel.mac/vendor/Mantle": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-ogFkMJybf2Ue606ojXJu6Gy5aXSi1bSKm60qcTAIaPk=",
-                "owner": "Mantle",
-                "repo": "Mantle",
-                "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
-            }
-        },
-        "version": "27.3.11",
-        "modules": "118",
-        "chrome": "118.0.5993.159",
-        "node": "18.17.1",
-        "chromium": {
-            "version": "118.0.5993.159",
-            "deps": {
-                "gn": {
-                    "version": "2023-08-10",
-                    "url": "https://gn.googlesource.com/gn",
-                    "rev": "cc56a0f98bb34accd5323316e0292575ff17a5d4",
-                    "hash": "sha256-SwlET5h5xtDlQvlt8wbG73ZfUWJr4hlWc+uQsBH5x9M="
-                }
-            }
-        },
-        "chromium_npm_hash": "sha256-5cjqpYB45nw2gop54VP+tL7/0w63nQGfQ4x6a6KS7XQ=",
-        "electron_yarn_hash": "1yq854829a4q0yqyjyn2lq4l3amsqdhfd7fjcnc3mz8l2ci3n964"
-    },
-    "29": {
-        "deps": {
-            "src/electron": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-buW6hC7GIA59MTuyWg9/+EzQlFgJVN2IZrxlfisLemM=",
-                "owner": "electron",
-                "repo": "electron",
-                "rev": "v29.3.0"
-            },
-            "src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5AmRq2pl3p0QtqyIjx4XDVE9Mnps18F9Z9MyH+38a0Y=",
-                "url": "https://chromium.googlesource.com/chromium/src.git",
-                "rev": "122.0.6261.156",
-                "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; "
-            },
-            "src/third_party/clang-format/script": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-7VvofDDQe+SoMRBfVk26q+C+OPyOE7QH35wVWkfDKxs=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git",
-                "rev": "e5337933f2951cacd3aeacd238ce4578163ca0b9"
-            },
-            "src/third_party/libc++/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-/3VxptC6qAv9NCt8y1peJKTXTFI7blbvnpZ6D0VYyDk=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
-                "rev": "28aa23ffb4c7344914a5b4ac7169f12e5a12333f"
-            },
-            "src/third_party/libc++abi/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-O337gqiB4uiTWUgIfPdEa1Du+/ww+xYpmmZW9Py7uyQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git",
-                "rev": "9986707a5f2fc6d5d1ffa7f224a032bdd45c95fd"
-            },
-            "src/third_party/libunwind/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-WPd6BlhNNF9n/qFU8atEh1fagbc05dWsFzBugw55boY=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
-                "rev": "f400fdb561d4416b59b8f8a33d8ec8b79da60495"
-            },
-            "src/chrome/test/data/perf/canvas_bench": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-svOuyBGKloBLM11xLlWCDsB4PpRjdKTBdW2UEW4JQjM=",
-                "url": "https://chromium.googlesource.com/chromium/canvas_bench.git",
-                "rev": "a7b40ea5ae0239517d78845a5fc9b12976bfc732"
-            },
-            "src/chrome/test/data/perf/frame_rate/content": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-t4kcuvH0rkPBkcdiMsoNQaRwU09eU+oSvyHDiAHrKXo=",
-                "url": "https://chromium.googlesource.com/chromium/frame_rate/content.git",
-                "rev": "c10272c88463efeef6bb19c9ec07c42bc8fe22b9"
-            },
-            "src/chrome/test/data/xr/webvr_info": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-BsAPwc4oEWri0TlqhyxqFNqKdfgVSrB0vQyISmYY4eg=",
-                "url": "https://chromium.googlesource.com/external/github.com/toji/webvr.info.git",
-                "rev": "c58ae99b9ff9e2aa4c524633519570bf33536248"
-            },
-            "src/docs/website": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-sKbrY/m75LVWjWjhhjaeQnfXQP5AkEsEkZ+GmMNQJVo=",
-                "url": "https://chromium.googlesource.com/website.git",
-                "rev": "7474472013397bdb177cda70099f6411a5bd8212"
-            },
-            "src/media/cdm/api": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6J6aSYW0or99VAgMNJJOdJqMJspoG7w1HxDN50MV5bw=",
-                "url": "https://chromium.googlesource.com/chromium/cdm.git",
-                "rev": "fef0b5aa1bd31efb88dfab804bdbe614f3d54f28"
-            },
-            "src/net/third_party/quiche/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-mrnKQh2d6ewg1X8sCx8U4frHXyFKHuIUpvi0WBzg+PU=",
-                "url": "https://quiche.googlesource.com/quiche.git",
-                "rev": "0e39ce016ee1ec8271aa7216d547917c239db525"
-            },
-            "src/third_party/angle": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-h2b/f8MmldZSk3c84rvwO5+UZK36BFf/H9BStWFbDoo=",
-                "url": "https://chromium.googlesource.com/angle/angle.git",
-                "rev": "f9bad5e27d61e2ab6a7504b1793be5aa14eb1414"
+                "hash": "sha256-w2VosAdg+GtalFaGxDB8FB2w7498PMudsXxX4SpJqYE=",
+                "rev": "a254b37189cf97cfc76634644e58be511aefb69a",
+                "url": "https://chromium.googlesource.com/external/google3/cros_components.git"
             },
-            "src/third_party/angle/third_party/glmark2/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-L7+zWM0qn8WFhmON7DGvarTsN1YHt1sn5+hazTOZrrk=",
-                "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
-                "rev": "ca8de51fedb70bace5351c6b002eb952c747e889"
-            },
-            "src/third_party/angle/third_party/rapidjson/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-btUl1a/B0sXwf/+hyvCvVJjWqIkXfVYCpHm3TeBuOxk=",
-                "url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson",
-                "rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f"
-            },
-            "src/third_party/angle/third_party/VK-GL-CTS/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-zBY7MY6FXazzTW+nXvknkNar/odL0tzHXxHPmpYuy7E=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
-                "rev": "0f6fd3de81102058dc2ae299af1ad5287d2145dd"
-            },
-            "src/third_party/anonymous_tokens/src": {
+            "src/third_party/cros_system_api": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3+/zvwYAv3OGoKJatg+/c3OM1IyGq2iCyFWgu3b8VoU=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git",
-                "rev": "d024f05b39e21bb2a0b8205a7ce72b1b185b84c2"
+                "hash": "sha256-dFp4Hy7fldUjXxUTtcyRXdt7zpIP2lchzDKkk0b+iko=",
+                "rev": "9a51dc89c4f21362e858b20a6a7cc8adfd7c7238",
+                "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git"
             },
-            "src/third_party/content_analysis_sdk/src": {
+            "src/third_party/crossbench": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-f5Jmk1MiGjaRdLun+v/GKVl8Yv9hOZMTQUSxgiJalcY=",
-                "url": "https://chromium.googlesource.com/external/github.com/chromium/content_analysis_sdk.git",
-                "rev": "9a408736204513e0e95dd2ab3c08de0d95963efc"
+                "hash": "sha256-4gQn5y/Z6ccYA/0VjIQfMpFMkEuPA78jyCgZ+FpmsFs=",
+                "rev": "acbea986f40578f43c88239c78c797f61842e642",
+                "url": "https://chromium.googlesource.com/crossbench.git"
             },
             "src/third_party/dav1d/libdav1d": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9SrbxiOqXKTFf4qZ4Wqg9aoOMY8zv7NczTqN2+lXwCI=",
-                "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git",
-                "rev": "47107e384bd1dc25674acf04d000a8cdc6195234"
+                "hash": "sha256-AA2bcrsW1xFspyl5TqYUJeAwKM06rWTNtXr/uMVIJmw=",
+                "rev": "006ca01d387ac6652825d6cce1a57b2de67dbf8d",
+                "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git"
             },
             "src/third_party/dawn": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-/lG4wfy5LVCMGuqKRZgf/NoxsAuCvyUdV1Anbzi0q+U=",
-                "url": "https://dawn.googlesource.com/dawn.git",
-                "rev": "6a6719ee09f1078356fdd31c69061e07b5c61c2d"
-            },
-            "src/third_party/dawn/third_party/glfw": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TwAPRjQxIz3J+zbNxzCp5Tek7MwisxdekMpY5QGsKyg=",
-                "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
-                "rev": "62e175ef9fae75335575964c845a302447c012c7"
+                "hash": "sha256-W0E0fhjAc5gdTgIsy+iOAFA7GPEFeMPPJEU5nnRUtbM=",
+                "rev": "e04b03f714994b7a747b5472da4ffae9e6e38938",
+                "url": "https://dawn.googlesource.com/dawn.git"
             },
             "src/third_party/dawn/third_party/dxc": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-PGGwxNYgvZ//k+cr19iTG2QwC9Agu2T9k9QOhnX565s=",
-                "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler",
-                "rev": "701a2b1da0387ac6abf73bdbaf7864b9615db033"
+                "hash": "sha256-bqzkbBbf1btIz84odYfC3c69m6kgssHy2+a9aR+EUaQ=",
+                "rev": "511cfef8e0509d172fbfa156be8a97ed2b42590b",
+                "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler"
             },
             "src/third_party/dawn/third_party/dxheaders": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA=",
-                "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers",
-                "rev": "980971e835876dc0cde415e8f9bc646e64667bf7"
+                "rev": "980971e835876dc0cde415e8f9bc646e64667bf7",
+                "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers"
             },
-            "src/third_party/dawn/third_party/khronos/OpenGL-Registry": {
+            "src/third_party/dawn/third_party/glfw": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry",
-                "rev": "5bae8738b23d06968e7c3a41308568120943ae77"
+                "hash": "sha256-TwAPRjQxIz3J+zbNxzCp5Tek7MwisxdekMpY5QGsKyg=",
+                "rev": "62e175ef9fae75335575964c845a302447c012c7",
+                "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw"
             },
             "src/third_party/dawn/third_party/khronos/EGL-Registry": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-Z6DwLfgQ1wsJXz0KKJyVieOatnDmx3cs0qJ6IEgSq1A=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry",
-                "rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071"
+                "rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry"
             },
-            "src/third_party/dawn/third_party/webgpu-cts": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-wlneFqVEhM6fe9p10T22dx4dxnZzWwKHw+35eIlDGVM=",
-                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
-                "rev": "dedb6316202c8c55b898e52248f1345241299125"
-            },
-            "src/third_party/highway/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-kNb9UVcFq2BIf9nftUgN8ciFFCzRCou/sLwVf08jf3E=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/highway.git",
-                "rev": "8f20644eca693cfb74aa795b0006b6779c370e7a"
-            },
-            "src/third_party/google_benchmark/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-h2ryAQAuHI54Cni88L85e7Np4KATGVTRdDcmUvCNeWc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git",
-                "rev": "b177433f3ee2513b1075140c723d73ab8901790f"
-            },
-            "src/third_party/boringssl/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-shqUB+x7oXgtQqqfhkwXHwLLaJW1/L1vh1O+jvdsDP8=",
-                "url": "https://boringssl.googlesource.com/boringssl.git",
-                "rev": "414f69504d30d0848b69f6453ea7fb5e88004cb4"
-            },
-            "src/third_party/breakpad/breakpad": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-7SmO5e/U2shYVslmCRPVLyfU5N4Rp1mzls8lLqIW8x8=",
-                "url": "https://chromium.googlesource.com/breakpad/breakpad.git",
-                "rev": "62ecd463583d09eb7d15b1d410055f30b2c7bcb4"
-            },
-            "src/third_party/cast_core/public/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-AalRQhJmornCqmvE2+36J/3LubaA0jr6P1PXy32lX4I=",
-                "url": "https://chromium.googlesource.com/cast_core/public",
-                "rev": "71f51fd6fa45fac73848f65421081edd723297cd"
-            },
-            "src/third_party/catapult": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ixfmLcWTgVcHi2CXAulMXTaAyPYT42Q8VflStxmNRXc=",
-                "url": "https://chromium.googlesource.com/catapult.git",
-                "rev": "ab03292694695864b523636060e2a96b2c9b2df2"
-            },
-            "src/third_party/ced/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ySG74Rj2i2c/PltEgHVEDq+N8yd9gZmxNktc56zIUiY=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git",
-                "rev": "ba412eaaacd3186085babcd901679a48863c7dd5"
-            },
-            "src/third_party/chromium-variations": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-px8BHI5Cp3vBRyei50dbxCTn/gydLsps1/SmJxxeGKw=",
-                "url": "https://chromium.googlesource.com/chromium-variations.git",
-                "rev": "d0dcd8802c22c1ac4a7d112782a4c75f0c6ca8ee"
-            },
-            "src/third_party/cld_3/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-C3MOMBUy9jgkT9BAi/Fgm2UH4cxRuwSBEcRl3hzM2Ss=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/cld_3.git",
-                "rev": "b48dc46512566f5a2d41118c8c1116c4f96dc661"
-            },
-            "src/third_party/colorama/src": {
+            "src/third_party/dawn/third_party/khronos/OpenGL-Registry": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6ZTdPYSHdQOLYMSnE+Tp7PgsVTs3U2awGu9Qb4Rg/tk=",
-                "url": "https://chromium.googlesource.com/external/colorama.git",
-                "rev": "3de9f013df4b470069d03d250224062e8cf15c49"
+                "hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE=",
+                "rev": "5bae8738b23d06968e7c3a41308568120943ae77",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry"
             },
-            "src/third_party/cpu_features/src": {
+            "src/third_party/dawn/third_party/webgpu-cts": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-E8LoVzhe+TAmARWZTSuINlsVhzpUJMxPPCGe/dHZcyA=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git",
-                "rev": "936b9ab5515dead115606559502e3864958f7f6e"
+                "hash": "sha256-VTYTdvBNxqRzYjEx5ml4LnkDEUGpyvssSzDOndHyYgU=",
+                "rev": "3e45aee0b16dc724a79a0feb0490e2ddb06c9f0d",
+                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts"
             },
-            "src/third_party/cpuinfo/src": {
+            "src/third_party/depot_tools": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-56XE95dvaDF8E89V/le19Gk52fR0pqqyE38UgQo+GQM=",
-                "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git",
-                "rev": "76cc10d627add77922dc24521b332a055a4d6d77"
+                "hash": "sha256-YmjhwOjqCRxDhC7P+aRoNN+Vokl7hB4s6hDNFS5gLYo=",
+                "rev": "9c43bc14f1a7404fd4b6f744050d553acca557bf",
+                "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git"
             },
-            "src/third_party/crc32c/src": {
+            "src/third_party/devtools-frontend/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-urg0bmnfMfHagLPELp4WrNCz1gBZ6DFOWpDue1KsMtc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git",
-                "rev": "fa5ade41ee480003d9c5af6f43567ba22e4e17e6"
+                "hash": "sha256-FVYUoK3KWlIjQTWlNkjmnzJDfpRkEZ9sFWTr4GdOUJw=",
+                "rev": "694ad4ed3c55195acd701950d2b2528880e9201e",
+                "url": "https://chromium.googlesource.com/devtools/devtools-frontend"
             },
-            "src/third_party/cros_system_api": {
+            "src/third_party/dom_distiller_js/dist": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Tzn7Sx6k7BpH/UqMZHdLTk26FBp5QNcX0xWhztgRKrw=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
-                "rev": "12d5e386005a211570cfdf9849d2fa6a3b38594b"
+                "hash": "sha256-yuEBD2XQlV3FGI/i7lTmJbCqzeBiuG1Qow8wvsppGJw=",
+                "rev": "199de96b345ada7c6e7e6ba3d2fa7a6911b8767d",
+                "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git"
             },
-            "src/third_party/crossbench": {
+            "src/third_party/eigen3/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-VxH1eOsJGQUk93EYexl1QrCpHTpgCOQP7H+oN0MZNpA=",
-                "url": "https://chromium.googlesource.com/crossbench.git",
-                "rev": "1983b3f517da56c35c91296467458f71ad5b9340"
+                "hash": "sha256-tx/XR7xJ7IMh5RMvL8wRo/g+dfD3xcjZkLPSY4D9HaY=",
+                "rev": "2a9055b50ed22101da7d77e999b90ed50956fe0b",
+                "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git"
             },
-            "src/third_party/depot_tools": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-C1l4piDzNENx6Vvtzu03HsBZTHIavO5AkmO6QXErh3Y=",
-                "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
-                "rev": "6fc0c97ab284021b72e3bc962f7fa879ffcad65b"
+            "src/third_party/electron_node": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-15RUrS+zjp0nOveBnZB3bvEv36noZr2ergtNL7ky8iQ=",
+                "owner": "nodejs",
+                "repo": "node",
+                "rev": "v20.14.0"
             },
-            "src/third_party/devtools-frontend/src": {
+            "src/third_party/emoji-segmenter/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Y7XPBkKU8p210dj7ydIDVJgiXx6ZQPP4D5Jfw3t9FCc=",
-                "url": "https://chromium.googlesource.com/devtools/devtools-frontend",
-                "rev": "3fa1fc736f46022f45c7ba7d817d1df1519c55d7"
+                "hash": "sha256-oT9mAKoKnrsFsBAeTRfPOXM76HRQQabFAlPpfKUGFhs=",
+                "rev": "9ba6d25d0d9313569665d4a9d2b34f0f39f9a50e",
+                "url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git"
             },
-            "src/third_party/dom_distiller_js/dist": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yuEBD2XQlV3FGI/i7lTmJbCqzeBiuG1Qow8wvsppGJw=",
-                "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
-                "rev": "199de96b345ada7c6e7e6ba3d2fa7a6911b8767d"
+            "src/third_party/engflow-reclient-configs": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-aZXYPj9KYBiZnljqOLlWJWS396Fg3EhjiQLZmkwCBsY=",
+                "owner": "EngFlow",
+                "repo": "reclient-configs",
+                "rev": "955335c30a752e9ef7bff375baab5e0819b6c00d"
             },
-            "src/third_party/eigen3/src": {
+            "src/third_party/expat/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-a9QAnv6vIM8a9Bn8ZmfeMT0+kbtb0QGxM0+m5xwIqm8=",
-                "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
-                "rev": "454f89af9d6f3525b1df5f9ef9c86df58bf2d4d3"
+                "hash": "sha256-FXTDGAK03jc2wvazhRKqtsFRKZUYS/9HLpZNp4JfZJI=",
+                "rev": "441f98d02deafd9b090aea568282b28f66a50e36",
+                "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git"
             },
             "src/third_party/farmhash/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-5n58VEUxa/K//jAfZqG4cXyfxrp50ogWDNYcgiXVHdc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git",
-                "rev": "816a4ae622e964763ca0862d9dbd19324a1eaf45"
+                "rev": "816a4ae622e964763ca0862d9dbd19324a1eaf45",
+                "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git"
             },
             "src/third_party/ffmpeg": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-NRyMXRxnHJi5JiEJUxOxJyPGe5BGTxNbNyEOu1GyO8E=",
-                "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
-                "rev": "17525de887d54b970ffdd421a0879c1db1952307"
+                "hash": "sha256-5ynDd2wQ3QtS6SM2X+j3hTKB9aVhGrjoIlGSzy43K8Q=",
+                "rev": "52d8ef3799b2f16b66351dd0972bb0bcee1648ac",
+                "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git"
             },
             "src/third_party/flac": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-gvTFPNOlBfozptaH7lTb9iD/09AmpdT3kCl9ClszjEs=",
-                "url": "https://chromium.googlesource.com/chromium/deps/flac.git",
-                "rev": "689da3a7ed50af7448c3f1961d1791c7c1d9c85c"
+                "rev": "689da3a7ed50af7448c3f1961d1791c7c1d9c85c",
+                "url": "https://chromium.googlesource.com/chromium/deps/flac.git"
             },
             "src/third_party/flatbuffers/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-LecJwLDG6szZZ/UOCFD+MDqH3NKawn0sdEwgnMt8wMM=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git",
-                "rev": "bcb9ef187628fe07514e57756d05e6a6296f7dc5"
+                "rev": "bcb9ef187628fe07514e57756d05e6a6296f7dc5",
+                "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git"
             },
             "src/third_party/fontconfig/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-7PFmgr/+KNEYxCMuxMD2Zi9Ydcbp88IU7exr55a392Q=",
-                "url": "https://chromium.googlesource.com/external/fontconfig.git",
-                "rev": "2fb3419a92156569bc1ec707401258c922cd0d99"
+                "hash": "sha256-W5WIgC6A52kY4fNkbsDEa0o+dfd97Rl5NKfgnIRpI00=",
+                "rev": "14d466b30a8ab4a9d789977ed94f2c30e7209267",
+                "url": "https://chromium.googlesource.com/external/fontconfig.git"
             },
             "src/third_party/fp16/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-m2d9bqZoGWzuUPGkd29MsrdscnJRtuIkLIMp3fMmtRY=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git",
-                "rev": "0a92994d729ff76a58f692d3028ca1b64b145d91"
-            },
-            "src/third_party/gemmlowp/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-O5wD8wxgis0qYMaY+xZ21GBDVQFphMRvInCOswS6inA=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/gemmlowp.git",
-                "rev": "13d57703abca3005d97b19df1f2db731607a7dc2"
+                "rev": "0a92994d729ff76a58f692d3028ca1b64b145d91",
+                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git"
             },
-            "src/third_party/grpc/src": {
+            "src/third_party/freetype-testing/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-64JEVCx/PCM0dvv7kAQvSjLc0QbRAZVBDzwD/FAV6T8=",
-                "url": "https://chromium.googlesource.com/external/github.com/grpc/grpc.git",
-                "rev": "822dab21d9995c5cf942476b35ca12a1aa9d2737"
+                "hash": "sha256-2aHPchIK5Oce5+XxdXVCC+8EM6i0XT0rFbjSIVa2L1A=",
+                "rev": "7a69b1a2b028476f840ab7d4a2ffdfe4eb2c389f",
+                "url": "https://chromium.googlesource.com/external/github.com/freetype/freetype2-testing.git"
             },
             "src/third_party/freetype/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ogBt+haM+MoETsPIhwPDPZCLwQB9u9+w7OHL4us6kg8=",
-                "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
-                "rev": "57617782464411201ce7bbc93b086c1b4d7d84a5"
+                "hash": "sha256-FtFRJaxyp7vo4EPBiqx05OsKo1UA1g/h+9BjuoijLFA=",
+                "rev": "f42ce25563b73fed0123d18a2556b9ba01d2c76b",
+                "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git"
             },
-            "src/third_party/freetype-testing/src": {
+            "src/third_party/fuzztest/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-2aHPchIK5Oce5+XxdXVCC+8EM6i0XT0rFbjSIVa2L1A=",
-                "url": "https://chromium.googlesource.com/external/github.com/freetype/freetype2-testing.git",
-                "rev": "7a69b1a2b028476f840ab7d4a2ffdfe4eb2c389f"
+                "hash": "sha256-utl9uwFqMqDW9ll9/3lh3rfjmPHlv5sx/enQuPffQZ8=",
+                "rev": "bddcd9f77ba0a81a99ce50bcadf5149efe545df0",
+                "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git"
             },
             "src/third_party/fxdiv/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-LjX5kivfHbqCIA5pF9qUvswG1gjOFo3CMpX0VR+Cn38=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git",
-                "rev": "63058eff77e11aa15bf531df5dd34395ec3017c8"
+                "rev": "63058eff77e11aa15bf531df5dd34395ec3017c8",
+                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git"
             },
-            "src/third_party/harfbuzz-ng/src": {
+            "src/third_party/gemmlowp/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-VAan6P8PHSq8RsGE4YbI/wCfFAhzl3nJMt0cQBYi5Ls=",
-                "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
-                "rev": "155015f4bec434ecc2f94621665844218f05ce51"
+                "hash": "sha256-O5wD8wxgis0qYMaY+xZ21GBDVQFphMRvInCOswS6inA=",
+                "rev": "13d57703abca3005d97b19df1f2db731607a7dc2",
+                "url": "https://chromium.googlesource.com/external/github.com/google/gemmlowp.git"
             },
-            "src/third_party/emoji-segmenter/src": {
+            "src/third_party/google_benchmark/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-oT9mAKoKnrsFsBAeTRfPOXM76HRQQabFAlPpfKUGFhs=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git",
-                "rev": "9ba6d25d0d9313569665d4a9d2b34f0f39f9a50e"
+                "hash": "sha256-gztnxui9Fe/FTieMjdvfJjWHjkImtlsHn6fM1FruyME=",
+                "rev": "344117638c8ff7e239044fd0fa7085839fc03021",
+                "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git"
             },
-            "src/third_party/ots/src": {
+            "src/third_party/googletest/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-kiUXrXsaGOzPkKh0dVmU1I13WHt0Stzj7QLMqHN9FbU=",
-                "url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git",
-                "rev": "46bea9879127d0ff1c6601b078e2ce98e83fcd33"
+                "hash": "sha256-mNYS3k2fAc7Q6GlpnO7pkXSkGHfUH1MXuZXkCmwG4q4=",
+                "rev": "c231e6f5b152029dbd5fa4a9e0c04095035aec3f",
+                "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git"
             },
-            "src/third_party/libgav1/src": {
+            "src/third_party/grpc/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ySRgjJUYFXTw5kys9WDSuxnmfzj1I4ImvTWi+7q0HXE=",
-                "url": "https://chromium.googlesource.com/codecs/libgav1.git",
-                "rev": "35fea10bfdb790cf131ae74a4ee346905f34dc3c"
+                "hash": "sha256-64JEVCx/PCM0dvv7kAQvSjLc0QbRAZVBDzwD/FAV6T8=",
+                "rev": "822dab21d9995c5cf942476b35ca12a1aa9d2737",
+                "url": "https://chromium.googlesource.com/external/github.com/grpc/grpc.git"
             },
-            "src/third_party/googletest/src": {
+            "src/third_party/harfbuzz-ng/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-VYRjcM3dDY2FarviXyFMgSkXCqKfWXwtGAj2Msgm7zg=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git",
-                "rev": "af29db7ec28d6df1c7f0f745186884091e602e07"
+                "hash": "sha256-VAan6P8PHSq8RsGE4YbI/wCfFAhzl3nJMt0cQBYi5Ls=",
+                "rev": "155015f4bec434ecc2f94621665844218f05ce51",
+                "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git"
+            },
+            "src/third_party/highway/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-kNb9UVcFq2BIf9nftUgN8ciFFCzRCou/sLwVf08jf3E=",
+                "rev": "8f20644eca693cfb74aa795b0006b6779c370e7a",
+                "url": "https://chromium.googlesource.com/external/github.com/google/highway.git"
             },
             "src/third_party/hunspell_dictionaries": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-67mvpJRFFa9eMfyqFMURlbxOaTJBICnk+gl0b0mEHl8=",
-                "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git",
-                "rev": "41cdffd71c9948f63c7ad36e1fb0ff519aa7a37e"
+                "rev": "41cdffd71c9948f63c7ad36e1fb0ff519aa7a37e",
+                "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git"
             },
             "src/third_party/icu": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-YYoslfgGfmDpSTxtCOmGGfwQg6mVU1IggzAtWRwwcMc=",
-                "url": "https://chromium.googlesource.com/chromium/deps/icu.git",
-                "rev": "bad7ddbf921358177e56fd723c2f59f8041a370f"
+                "rev": "bad7ddbf921358177e56fd723c2f59f8041a370f",
+                "url": "https://chromium.googlesource.com/chromium/deps/icu.git"
             },
             "src/third_party/jsoncpp/source": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q=",
-                "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git",
-                "rev": "42e892d96e47b1f6e29844cc705e148ec4856448"
+                "rev": "42e892d96e47b1f6e29844cc705e148ec4856448",
+                "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git"
             },
             "src/third_party/leveldatabase/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-TTX2FrmcWsgqrh4uzqMyGnnnG51cVC2ILfdLxD65MLY=",
-                "url": "https://chromium.googlesource.com/external/leveldb.git",
-                "rev": "068d5ee1a3ac40dabd00d211d5013af44be55bea"
+                "rev": "068d5ee1a3ac40dabd00d211d5013af44be55bea",
+                "url": "https://chromium.googlesource.com/external/leveldb.git"
             },
             "src/third_party/libFuzzer/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-T0dO+1A0r6kLFoleMkY8heu80biPntCpvA6YfqA7b+E=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git",
-                "rev": "758bd21f103a501b362b1ca46fa8fcb692eaa303"
-            },
-            "src/third_party/fuzztest/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-YEg+/562AX/hK0Adx9bUZqATt+5VDZjn/csWVhRji2M=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git",
-                "rev": "12e7428ab0847b1d1dc6c4b89203adfd1f16a1ad"
+                "rev": "758bd21f103a501b362b1ca46fa8fcb692eaa303",
+                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git"
             },
             "src/third_party/libaddressinput/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-xvUUQSPrvqUp5DI9AqlRTWurwDW087c6v4RvI+4sfOQ=",
-                "url": "https://chromium.googlesource.com/external/libaddressinput.git",
-                "rev": "e8712e415627f22d0b00ebee8db99547077f39bd"
+                "rev": "e8712e415627f22d0b00ebee8db99547077f39bd",
+                "url": "https://chromium.googlesource.com/external/libaddressinput.git"
             },
             "src/third_party/libaom/source/libaom": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-f65sdsMAWCWpsdTgyTzx5fwM/2ESm/cBCvU41s2BEV0=",
-                "url": "https://aomedia.googlesource.com/aom.git",
-                "rev": "1a72ea323d65e46eb90d08d492c04891abb91926"
+                "hash": "sha256-zgtNjrQE+fzr8Aye0rAkQR5enzfacCAsRbC3crUrMQ4=",
+                "rev": "158761dfb40e77f3a54c3b14a596112837baa24b",
+                "url": "https://aomedia.googlesource.com/aom.git"
             },
             "src/third_party/libavif/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-rglws6GR11X8SdpYhK9CoxElWuPFYfp5b+vETjEoJOY=",
-                "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git",
-                "rev": "e170c9366090cdc389d5f47ee3c2d7db71d263bc"
+                "hash": "sha256-moVf7i0gZ/KW53ACcVIWKWNL0oAimOSU1m5IdQHz6z8=",
+                "rev": "43ec9ace31c6ca11efddddb61b94b744450d46e2",
+                "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git"
             },
             "src/third_party/libavifinfo/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-UAc4iYWrKWteH98hD3QLkD3JWmV/rsvWhFIVJN7tc+Q=",
-                "url": "https://aomedia.googlesource.com/libavifinfo.git",
-                "rev": "b496868f7c3fd17dfeeecc0364fe37e19edd548a"
-            },
-            "src/third_party/nearby/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-XsQrfj0R88qf0C/LtRUsset/lnRpBkbpGUr/ZE3qmyk=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git",
-                "rev": "4bdb5000ee7919724530cf89d50969e7b0ed58a7"
-            },
-            "src/third_party/beto-core/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-PkvHqVKjGHxAYntylJxR5xnUVU1o8DJuBmsd9qkl/Yo=",
-                "url": "https://beto-core.googlesource.com/beto-core.git",
-                "rev": "4d202dab960a0b6a6e4757ab4393945aca5a09db"
-            },
-            "src/third_party/securemessage/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-GS4ccnuiqxMs/LVYAtvSlVAYFp4a5GoZsxcriTX3k78=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git",
-                "rev": "fa07beb12babc3b25e0c5b1f38c16aa8cb6b8f84"
+                "rev": "b496868f7c3fd17dfeeecc0364fe37e19edd548a",
+                "url": "https://aomedia.googlesource.com/libavifinfo.git"
             },
-            "src/third_party/speedometer/v3.0": {
+            "src/third_party/libc++/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-FDsK5sNy3YOrmaGpN3AhSExzBY9D8RGwoZKkjg/5vo0=",
-                "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git",
-                "rev": "2ee210ca20767c949c4ff29bdffa1138eb0501fe"
+                "hash": "sha256-k2bSS8OhVyd0/metFpwFvRCWYOaLEU0Md4AW50GpGTM=",
+                "rev": "80307e66e74bae927fb8709a549859e777e3bf0b",
+                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git"
             },
-            "src/third_party/ukey2/src": {
+            "src/third_party/libc++abi/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-aaLs6ZS+CdBlCJ6ZhsmdAPFxiBIij6oufsDcNeRSV1E=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/ukey2.git",
-                "rev": "0275885d8e6038c39b8a8ca55e75d1d4d1727f47"
-            },
-            "src/third_party/cros-components/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-2FuyB/TLKMbqgjvw0q19lcG85fedwlOmKKNlGevEzos=",
-                "url": "https://chromium.googlesource.com/external/google3/cros_components.git",
-                "rev": "ab7bdff32543991f52872c25cecf1f926702dfe3"
+                "hash": "sha256-AdyX58sg//O2e76HAcRC5DcuiTsd68QS4mNVkPv0Vck=",
+                "rev": "ec88f0ab262c5f2426dbf138b92ee9ae5961e431",
+                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git"
             },
             "src/third_party/libdrm/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-NUxS2rBJ0nFblvHRQUfKT933+DAws5RUTDb+RLxRF4M=",
-                "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git",
-                "rev": "98e1db501173303e58ef6a1def94ab7a2d84afc1"
+                "rev": "98e1db501173303e58ef6a1def94ab7a2d84afc1",
+                "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git"
             },
-            "src/third_party/expat/src": {
+            "src/third_party/libgav1/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-FXTDGAK03jc2wvazhRKqtsFRKZUYS/9HLpZNp4JfZJI=",
-                "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
-                "rev": "441f98d02deafd9b090aea568282b28f66a50e36"
+                "hash": "sha256-tB9Wzjs4Sct7QendDMKkaEE4ddD6ptnNCmj1yYKcQSc=",
+                "rev": "f9a93151adf7203c6ab90f3c94bbd5972b7967b8",
+                "url": "https://chromium.googlesource.com/codecs/libgav1.git"
             },
             "src/third_party/libipp/libipp": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-gxU92lHLd6uxO8T3QWhZIK0hGy97cki705DV0VimCPY=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git",
-                "rev": "2209bb84a8e122dab7c02fe66cc61a7b42873d7f"
+                "rev": "2209bb84a8e122dab7c02fe66cc61a7b42873d7f",
+                "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git"
             },
             "src/third_party/libjpeg_turbo": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-+t75ZAdOXc7Nd1/8zEQLX+enZb8upqIQuR6qzb9z7Cg=",
-                "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
-                "rev": "9b894306ec3b28cea46e84c32b56773a98c483da"
+                "rev": "9b894306ec3b28cea46e84c32b56773a98c483da",
+                "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git"
             },
             "src/third_party/liblouis/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-EI/uaHXe0NlqdEw764q0SjerThYEVLRogUlmrsZwXnY=",
-                "url": "https://chromium.googlesource.com/external/liblouis-github.git",
-                "rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376"
+                "rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376",
+                "url": "https://chromium.googlesource.com/external/liblouis-github.git"
             },
             "src/third_party/libphonenumber/dist": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-3hSnTFTD3KAdbyxfKg12qbIYTmw6YlTCH64gMP/HUJo=",
-                "url": "https://chromium.googlesource.com/external/libphonenumber.git",
-                "rev": "140dfeb81b753388e8a672900fb7a971e9a0d362"
+                "rev": "140dfeb81b753388e8a672900fb7a971e9a0d362",
+                "url": "https://chromium.googlesource.com/external/libphonenumber.git"
             },
             "src/third_party/libprotobuf-mutator/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-ZyPweW+V5foxFQwjjMLkaRUo+FNV+kEDGIH/4oRV614=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git",
-                "rev": "a304ec48dcf15d942607032151f7e9ee504b5dcf"
+                "rev": "a304ec48dcf15d942607032151f7e9ee504b5dcf",
+                "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git"
             },
             "src/third_party/libsrtp": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-pfLFh2JGk/g0ZZxBKTaYW9/PBpkCm0rtJeyNePUMTTc=",
-                "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git",
-                "rev": "5b7c744eb8310250ccc534f3f86a2015b3887a0a"
+                "rev": "5b7c744eb8310250ccc534f3f86a2015b3887a0a",
+                "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git"
             },
             "src/third_party/libsync/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-Mkl6C1LxF3RYLwYbxiSfoQPt8QKFwQWj/Ati2sNJ32E=",
-                "url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git",
-                "rev": "f4f4387b6bf2387efbcfd1453af4892e8982faf6"
+                "rev": "f4f4387b6bf2387efbcfd1453af4892e8982faf6",
+                "url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git"
+            },
+            "src/third_party/libunwind/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-/4/Trextb4F9UMDVrg4uG9QZl6S0H9FiwnL+2S5+ZpE=",
+                "rev": "419b03c0b8f20d6da9ddcb0d661a94a97cdd7dad",
+                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git"
             },
             "src/third_party/libvpx/source/libvpx": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-AUNWUicLMpEL/+r5c3JVjgZu9URBVsebayMs+ogNN6M=",
-                "url": "https://chromium.googlesource.com/webm/libvpx.git",
-                "rev": "893c9f6d070cc3bd8503152480089673f57fdf76"
+                "hash": "sha256-5IsUUvhcKKiWJFetS29+S7Wiz5JwqRZGK2t2ehld/M4=",
+                "rev": "19832b1702d5b0adf616a0e080abd5207c8445b5",
+                "url": "https://chromium.googlesource.com/webm/libvpx.git"
             },
             "src/third_party/libwebm/source": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-u/5nkJed0DzdhR5OLL2kIhZhOnrbyzL1Kx37vV/jcEo=",
-                "url": "https://chromium.googlesource.com/webm/libwebm.git",
-                "rev": "e4fbea0c9751ae8aa86629b197a28d8276a2b0da"
+                "rev": "e4fbea0c9751ae8aa86629b197a28d8276a2b0da",
+                "url": "https://chromium.googlesource.com/webm/libwebm.git"
             },
             "src/third_party/libwebp/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-Wa33opOFgcmYtycezDUt2f6PqZBse6xYB5kLuSaw95o=",
-                "url": "https://chromium.googlesource.com/webm/libwebp.git",
-                "rev": "ca332209cb5567c9b249c86788cb2dbf8847e760"
+                "rev": "ca332209cb5567c9b249c86788cb2dbf8847e760",
+                "url": "https://chromium.googlesource.com/webm/libwebp.git"
             },
             "src/third_party/libyuv": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-jxs9kHI40gRFhm9cU6uS1Rxj+LLUUqT9b3myihxgW7s=",
-                "url": "https://chromium.googlesource.com/libyuv/libyuv.git",
-                "rev": "04821d1e7d60845525e8db55c7bcd41ef5be9406"
+                "hash": "sha256-hD5B9fPNwf8M98iS/PYeUJgJxtBvvf2BrrlnBNYXSg0=",
+                "rev": "a6a2ec654b1be1166b376476a7555c89eca0c275",
+                "url": "https://chromium.googlesource.com/libyuv/libyuv.git"
             },
             "src/third_party/lss": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-hE8uZf9Fst66qJkoVYChiB8G41ie+k9M4X0W+5JUSdw=",
-                "url": "https://chromium.googlesource.com/linux-syscall-support.git",
-                "rev": "ce877209e11aa69dcfffbd53ef90ea1d07136521"
+                "rev": "ce877209e11aa69dcfffbd53ef90ea1d07136521",
+                "url": "https://chromium.googlesource.com/linux-syscall-support.git"
             },
             "src/third_party/material_color_utilities/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-sYLpJbgwR5POWqbUqu7IdWJ2Gibjz1PsMdSK+7yPDt4=",
-                "url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git",
-                "rev": "bec7bab60e6431201a82761ea4482b98b54c2af9"
+                "hash": "sha256-Y85XU+z9W6tvmDNHJ/dXQnUKXvvDkO3nH/kUJRLqbc4=",
+                "rev": "13434b50dcb64a482cc91191f8cf6151d90f5465",
+                "url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git"
             },
             "src/third_party/minigbm/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-9HwvjTETerbQ7YKXH9kUB2eWa8PxGWMAJfx1jAluhrs=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git",
-                "rev": "3018207f4d89395cc271278fb9a6558b660885f5"
+                "rev": "3018207f4d89395cc271278fb9a6558b660885f5",
+                "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git"
+            },
+            "src/third_party/nan": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-cwti+BWmF/l/dqa/cN0C587EK4WwRWcWy6gjFVkaMTg=",
+                "owner": "nodejs",
+                "repo": "nan",
+                "rev": "e14bdcd1f72d62bca1d541b66da43130384ec213"
             },
             "src/third_party/nasm": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-SiRXHsUlWXtH6dbDjDjqNAm105ibEB3jOfNtQAM4CaY=",
-                "url": "https://chromium.googlesource.com/chromium/deps/nasm.git",
-                "rev": "f477acb1049f5e043904b87b825c5915084a9a29"
+                "rev": "f477acb1049f5e043904b87b825c5915084a9a29",
+                "url": "https://chromium.googlesource.com/chromium/deps/nasm.git"
+            },
+            "src/third_party/nearby/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-YotKuKutnjuphwiElfQO6qpoNLhZGP6bqWZnW3Zv6QI=",
+                "rev": "33e682f24427a0eb634bd3186fe3c6fd96bd6768",
+                "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git"
             },
             "src/third_party/neon_2_sse/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-299ZptvdTmCnIuVVBkrpf5ZTxKPwgcGUob81tEI91F0=",
-                "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git",
-                "rev": "a15b489e1222b2087007546b4912e21293ea86ff"
+                "rev": "a15b489e1222b2087007546b4912e21293ea86ff",
+                "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git"
             },
             "src/third_party/openh264/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-J7Eqe2QevZh1xfap19W8AVCcwfRu7ztknnbKFJUAH1c=",
-                "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264",
-                "rev": "09a4f3ec842a8932341b195c5b01e141c8a16eb7"
+                "rev": "09a4f3ec842a8932341b195c5b01e141c8a16eb7",
+                "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264"
             },
             "src/third_party/openscreen/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-habWfKhK66T537zJb/fm0IWpDbD2xgd9Upg97xRBy/M=",
-                "url": "https://chromium.googlesource.com/openscreen",
-                "rev": "b70c552bedf189fc238e98f8f69e6c30e7925207"
+                "hash": "sha256-4Qd5nHJxIOY7ifPy6Xf0TgZK0TkZY48scOkJ25kMCjk=",
+                "rev": "90e48ecc4ed9feeba36f49065c738d620d6f0780",
+                "url": "https://chromium.googlesource.com/openscreen"
             },
             "src/third_party/openscreen/src/buildtools": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-o974IZvLUG2KlB1pQPYFwnoPGo239CV96pQPoQO7lvM=",
-                "url": "https://chromium.googlesource.com/chromium/src/buildtools",
-                "rev": "a9a6f0c49d0e8fa0cda37337430b4736ab3dc944"
+                "hash": "sha256-SBorO59kMSnskcp3oP5lrGQg+9cr/Ymey2aZGlRTgu0=",
+                "rev": "0ac67b7cef80e421283f633ee9c2ce652f6e42cc",
+                "url": "https://chromium.googlesource.com/chromium/src/buildtools"
             },
             "src/third_party/openscreen/src/third_party/tinycbor/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-fMKBFUSKmODQyg4hKIa1hwnEKIV6WBbY1Gb8DOSnaHA=",
-                "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git",
-                "rev": "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7"
+                "rev": "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7",
+                "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git"
+            },
+            "src/third_party/ots/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-kiUXrXsaGOzPkKh0dVmU1I13WHt0Stzj7QLMqHN9FbU=",
+                "rev": "46bea9879127d0ff1c6601b078e2ce98e83fcd33",
+                "url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git"
             },
             "src/third_party/pdfium": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-XJAQBQjM0JzyeNy5ZU1KpfxE1U6lQtTEhg21riHHJ0E=",
-                "url": "https://pdfium.googlesource.com/pdfium.git",
-                "rev": "4c4f9ab25dab142d7888f3258ab54df24b97b44f"
+                "hash": "sha256-/gSW4sd2AN4m3aIs9AojqsfrXeCNNrl7wFM54KeQVxw=",
+                "rev": "dcdd830ae4e1b14f85383d1baf84efee6bc853cc",
+                "url": "https://pdfium.googlesource.com/pdfium.git"
             },
             "src/third_party/perfetto": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-DLu7p6tDImRC7sk+PqIZvyjpOVIZl3I/8rYX498DVTk=",
-                "url": "https://android.googlesource.com/platform/external/perfetto.git",
-                "rev": "1e15d01da5d619ca617dcdd870efe3c35046a89c"
+                "hash": "sha256-FeI+nAa5N8mQoA8gDSmWn6nw6TSPhDGwJI8/7r/5z1c=",
+                "rev": "a66020f87046d8934c22e20acb2bb8a91901ce8e",
+                "url": "https://android.googlesource.com/platform/external/perfetto.git"
+            },
+            "src/third_party/protobuf-javascript/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-TmP6xftUVTD7yML7UEM/DB8bcsL5RFlKPyCpcboD86U=",
+                "rev": "e34549db516f8712f678fcd4bc411613b5cc5295",
+                "url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript"
             },
             "src/third_party/pthreadpool/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-R4YmNzWEELSkAws/ejmNVxqXDTJwcqjLU/o/HvgRn2E=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/pthreadpool.git",
-                "rev": "4fe0e1e183925bf8cfa6aae24237e724a96479b8"
+                "rev": "4fe0e1e183925bf8cfa6aae24237e724a96479b8",
+                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/pthreadpool.git"
             },
             "src/third_party/pyelftools": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-I/7p3IEvfP/gkes4kx18PvWwhAKilQKb67GXoW4zFB4=",
-                "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git",
-                "rev": "19b3e610c86fcadb837d252c794cb5e8008826ae"
-            },
-            "src/third_party/quic_trace/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Nf9ZDLcE1JunhbpEMHhrY2ROnbgrvVZoRkPwWq1DU0g=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git",
-                "rev": "caa0a6eaba816ecb737f9a70782b7c80b8ac8dbc"
+                "rev": "19b3e610c86fcadb837d252c794cb5e8008826ae",
+                "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git"
             },
             "src/third_party/pywebsocket3/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-WEqqu2/7fLqcf/2/IcD7/FewRSZ6jTgVlVBvnihthYQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/pywebsocket3.git",
-                "rev": "50602a14f1b6da17e0b619833a13addc6ea78bc2"
+                "rev": "50602a14f1b6da17e0b619833a13addc6ea78bc2",
+                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/pywebsocket3.git"
+            },
+            "src/third_party/quic_trace/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-Nf9ZDLcE1JunhbpEMHhrY2ROnbgrvVZoRkPwWq1DU0g=",
+                "rev": "caa0a6eaba816ecb737f9a70782b7c80b8ac8dbc",
+                "url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git"
             },
             "src/third_party/re2/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3eAhiKUIMnpVCEuLWVCVOK3alVsxAJrEWtHBzvdjZkY=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/re2.git",
-                "rev": "826ad10e58a042faf57d7c329b0fd0a04b797e0b"
+                "hash": "sha256-gB6vW6UJ60LrrGeNP6NKAcirIK6jgZjHRc6TA+pNXAQ=",
+                "rev": "6598a8ecd57724c8c7d43b2fca8eb9f9969ce57c",
+                "url": "https://chromium.googlesource.com/external/github.com/google/re2.git"
             },
             "src/third_party/ruy/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-gvzxHQEAK6D9qIr/Wf/s6TfBp9QorHlNi4qzSx5Ih/c=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/ruy.git",
-                "rev": "cd7b92695b5d3f0c9ff65b865c2a1e19b99d766d"
+                "hash": "sha256-cwmKQJpR+7lp+dq8fGu6U8A+qmkXz6SlWvAdhBkKZOw=",
+                "rev": "587c2cf8b11d3c32fa26887063eda3171a3d353e",
+                "url": "https://chromium.googlesource.com/external/github.com/google/ruy.git"
+            },
+            "src/third_party/securemessage/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-GS4ccnuiqxMs/LVYAtvSlVAYFp4a5GoZsxcriTX3k78=",
+                "rev": "fa07beb12babc3b25e0c5b1f38c16aa8cb6b8f84",
+                "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git"
             },
             "src/third_party/skia": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-iJlxnQL0JsDPOFSyD0ubEMWtDJhtbqCsBtaQqWZt8q0=",
-                "url": "https://skia.googlesource.com/skia.git",
-                "rev": "8464f41cf051974e499be9caeab3243506e025c2"
+                "hash": "sha256-zHfv4OZK/nVJc2rl+dBSCc4f6qndpAKcFZtThw06+LY=",
+                "rev": "a747f7ea37db6ea3871816dbaf2eb41b5776c826",
+                "url": "https://skia.googlesource.com/skia.git"
             },
             "src/third_party/smhasher/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-RyC//me08hwGXRrWcK8GZ1uhIkBq4FByA7fHCVDsniw=",
-                "url": "https://chromium.googlesource.com/external/smhasher.git",
-                "rev": "e87738e57558e0ec472b2fc3a643b838e5b6e88f"
+                "rev": "e87738e57558e0ec472b2fc3a643b838e5b6e88f",
+                "url": "https://chromium.googlesource.com/external/smhasher.git"
             },
             "src/third_party/snappy/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-5fV6NfO8vmqK+iCwpLtE2YjYOzjsshctauyjNIOxrH0=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/snappy.git",
-                "rev": "c9f9edf6d75bb065fa47468bf035e051a57bec7c"
+                "rev": "c9f9edf6d75bb065fa47468bf035e051a57bec7c",
+                "url": "https://chromium.googlesource.com/external/github.com/google/snappy.git"
+            },
+            "src/third_party/speedometer/v3.0": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-qMQ4naX+4uUu3vtzzinjkhxX9/dNoTwj6vWCu4FdQmU=",
+                "rev": "8d67f28d0281ac4330f283495b7f48286654ad7d",
+                "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git"
             },
             "src/third_party/sqlite/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-brDFYmagGIH7fvRAP/JaCAMyuFLJKrc0jf0106gofiw=",
-                "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git",
-                "rev": "a5270ae741714a5aad187ba8dcd8bddca39f791f"
+                "hash": "sha256-TsrSvL76H7SFhJWgHqyl8Y/BhAcnI9oaT2tUT6Ktan4=",
+                "rev": "f51e3fa404f5853650525549c78d7489a7f457b3",
+                "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git"
+            },
+            "src/third_party/squirrel.mac": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-4GfKQg0u3c9GI+jl3ixESNqWXQJKRMi+00QT0s2Shqw=",
+                "owner": "Squirrel",
+                "repo": "Squirrel.Mac",
+                "rev": "0e5d146ba13101a1302d59ea6e6e0b3cace4ae38"
+            },
+            "src/third_party/squirrel.mac/vendor/Mantle": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-ogFkMJybf2Ue606ojXJu6Gy5aXSi1bSKm60qcTAIaPk=",
+                "owner": "Mantle",
+                "repo": "Mantle",
+                "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
+            },
+            "src/third_party/squirrel.mac/vendor/ReactiveObjC": {
+                "fetcher": "fetchFromGitHub",
+                "hash": "sha256-/MCqC1oFe3N9TsmfVLgl+deR6qHU6ZFQQjudb9zB5Mo=",
+                "owner": "ReactiveCocoa",
+                "repo": "ReactiveObjC",
+                "rev": "74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76"
             },
             "src/third_party/swiftshader": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-k0WzWDa/+48ogpbmECNDJKIED4wGu/Hm0DyGnCT9xoU=",
-                "url": "https://swiftshader.googlesource.com/SwiftShader.git",
-                "rev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f"
+                "hash": "sha256-tU0maePvL35JIVKFm+9hmPYDM81szLNYqUJyTKMHT0k=",
+                "rev": "bbe6452b420c5ddc4b0fd421b0a3ce271262f4ca",
+                "url": "https://swiftshader.googlesource.com/SwiftShader.git"
             },
             "src/third_party/text-fragments-polyfill/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-4rW2u1cQAF4iPWHAt1FvVXIpz2pmI901rEPks/w/iFA=",
-                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git",
-                "rev": "c036420683f672d685e27415de0a5f5e85bdc23f"
+                "rev": "c036420683f672d685e27415de0a5f5e85bdc23f",
+                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git"
             },
             "src/third_party/tflite/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-LOQH+qtltrahcPIutw/zYvEhmvbSjFBWT1mrg/pUD/0=",
-                "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
-                "rev": "296f1e3cce03308c7fd5cdc7a76fbc3e41ec5214"
+                "hash": "sha256-Iqun3uMTCjGzHxUDeTCrvZufNtobnbqYVPDt7ZJ06wM=",
+                "rev": "55bc062601e4ee5a4efa834a84ae5c5ec6b28306",
+                "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git"
+            },
+            "src/third_party/ukey2/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-aaLs6ZS+CdBlCJ6ZhsmdAPFxiBIij6oufsDcNeRSV1E=",
+                "rev": "0275885d8e6038c39b8a8ca55e75d1d4d1727f47",
+                "url": "https://chromium.googlesource.com/external/github.com/google/ukey2.git"
             },
             "src/third_party/vulkan-deps": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-bxg82G3dkugLXpTkfk/kNcKHKWn2i8+cCKPgfbaIVZ8=",
-                "url": "https://chromium.googlesource.com/vulkan-deps",
-                "rev": "c00c99b8e979ca1b1eba221a60cb1e1d3b12f956"
+                "hash": "sha256-MokWdjOP8Mc5hmoRrSXHXkobMPWbbmMzAMBOOoKG3gk=",
+                "rev": "3cebaae6743688201c8aa9b3694bba6948f0fa68",
+                "url": "https://chromium.googlesource.com/vulkan-deps"
             },
             "src/third_party/vulkan-deps/glslang/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-QKSPJuIJe44vVNZ8fjqRKc73CZV0fECcnXvY6QRec+0=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
-                "rev": "57d86ab763da7b2cd1e00ecec8aa697403a8fd20"
+                "hash": "sha256-lP+N1d6jE+Cj5ofomgMEhbA6VbH5eKw83mY6zNIOfNk=",
+                "rev": "9f37ad360ea1c32162f0cc1799b1b292594fc771",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang"
             },
             "src/third_party/vulkan-deps/spirv-cross/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-VxwAs6mNOK/46VIJ0BroR41cNy2ywU+FQCgBatY1sBY=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
-                "rev": "b82536766d1b81631b126d1ddbe49baf42929bd3"
+                "hash": "sha256-H43M9DXfEuyKuvo6rjb5k0KEbYOSFodbPJh8ZKY4PQg=",
+                "rev": "b8fcf307f1f347089e3c46eb4451d27f32ebc8d3",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross"
             },
             "src/third_party/vulkan-deps/spirv-headers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TVfaGY9YjVHvR38OvuphsS68UIpBF21ghBg/2LL3gmE=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
-                "rev": "7b0309708da5126b89e4ce6f19835f36dc912f2f"
+                "hash": "sha256-kyOAwe4R0FmeA9IIJF2eoZR+7g9LiGKaZ7FuIfkrXJ4=",
+                "rev": "8b246ff75c6615ba4532fe4fde20f1be090c3764",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers"
             },
             "src/third_party/vulkan-deps/spirv-tools/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yUaUBCj3MqBwkGNC8ElJ/uvcm0Pl5BAdiWAw/Pi52Xo=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
-                "rev": "c96fe8b943564fbab3424219d924d21cac2e877a"
+                "hash": "sha256-/Cldtx75V+z3FuColEqwweyZHEqR2NaIj1Ha/vPoCsc=",
+                "rev": "c6615779ef8a1eb5ef48fef77bf3eb2cf4f5438d",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools"
             },
             "src/third_party/vulkan-deps/vulkan-headers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-kBOkj7mr4stPXUCBhNJpNL3A+9BebEwrIBEIroxdH8Y=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
-                "rev": "217e93c664ec6704ec2d8c36fa116c1a4a1e2d40"
+                "hash": "sha256-EnKiCtH6rh3ACQgokSSfp4FPFluMZW0dheP8IEzZtY4=",
+                "rev": "577baa05033cf1d9236b3d078ca4b3269ed87a2b",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers"
             },
             "src/third_party/vulkan-deps/vulkan-loader/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-qvpwu4mmmLAFolLZt5q9XYgZff6BHO2Yapg93JUpBVA=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
-                "rev": "0b2b71306aebf1e11304b9f961f9a29ab0234756"
+                "hash": "sha256-zkJSPshRaZRDiBvLJbJo8l1MX10KXYZniqtNTNnokT4=",
+                "rev": "61a9c50248e09f3a0e0be7ce6f8bb1663855f979",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader"
             },
             "src/third_party/vulkan-deps/vulkan-tools/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-C4xJwYkMqzmYk6lP7SQNXhCt6FyuH4+pqOHltuxJkOA=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
-                "rev": "7c6d640a5ca3ab73c1f42d22312f672b54babfaf"
+                "hash": "sha256-9qs0oS6W7x/1Z+wlFt91bqF09oxoloNPtjjH9mECJFk=",
+                "rev": "733fd2b522918f81f9c4669350dafd066f99c5d5",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools"
             },
             "src/third_party/vulkan-deps/vulkan-utility-libraries/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-gvia+Xb9BpOjPARKo3Sgp85Bfh1roFZ2PzCtXVFYeIU=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries",
-                "rev": "4cfc176e3242b4dbdfd3f6c5680c5d8f2cb7db45"
+                "hash": "sha256-mCD9/bpWUXRVJ+OyOqG0tXTgFuptIlcG6UR/RiNV1Z0=",
+                "rev": "a4140c5fd47dcf3a030726a60b293db61cfb54a3",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries"
             },
             "src/third_party/vulkan-deps/vulkan-validation-layers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6YUjvPKjuuZdhBRfM+84btXvAHR2rj7ovocZnLS31JY=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
-                "rev": "d26b50b03815ff226e6df478b4ddc4b98d8deaee"
+                "hash": "sha256-Bcm5yMo7JL/E6YZetlabkA0mkEFxbWriYNd8tRtgx5k=",
+                "rev": "5b8af92af052c83444ac560ff1e28c1c322424ef",
+                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers"
             },
             "src/third_party/vulkan_memory_allocator": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-YzxHZagz/M8Y54UnI4h1wu5jSTuaOgv0ifC9d3fJZlQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
-                "rev": "56300b29fbfcc693ee6609ddad3fdd5b7a449a21"
+                "rev": "56300b29fbfcc693ee6609ddad3fdd5b7a449a21",
+                "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
             },
-            "src/third_party/wayland/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-By+3qSfYs4dM4Hcjq2j4ZlSSPhagwqtNl//HKMrc5LY=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git",
-                "rev": "af7f44122127b86a8c74cb7432909180f4899eaa"
-            },
-            "src/third_party/wayland-protocols/src": {
+            "src/third_party/wayland-protocols/gtk": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ljMcY59iOdGYeToadCuQ3t0lrBnsBdot+NiT6e+JJ04=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git",
-                "rev": "681c33c8547d6aefe24455ba2bffe1c5ae11fee5"
+                "hash": "sha256-75XNnLkF5Lt1LMRGT+T61k0/mLa3kkynfN+QWvZ0LiQ=",
+                "rev": "40ebed3a03aef096addc0af09fec4ec529d882a0",
+                "url": "https://chromium.googlesource.com/external/github.com/GNOME/gtk.git"
             },
             "src/third_party/wayland-protocols/kde": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-Dmcp/2ms/k7NxPPmPkp0YNfM9z2Es1ZO0uX10bc7N2Y=",
-                "url": "https://chromium.googlesource.com/external/github.com/KDE/plasma-wayland-protocols.git",
-                "rev": "0b07950714b3a36c9b9f71fc025fc7783e82926e"
+                "rev": "0b07950714b3a36c9b9f71fc025fc7783e82926e",
+                "url": "https://chromium.googlesource.com/external/github.com/KDE/plasma-wayland-protocols.git"
             },
-            "src/third_party/wayland-protocols/gtk": {
+            "src/third_party/wayland-protocols/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-75XNnLkF5Lt1LMRGT+T61k0/mLa3kkynfN+QWvZ0LiQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/GNOME/gtk.git",
-                "rev": "40ebed3a03aef096addc0af09fec4ec529d882a0"
+                "hash": "sha256-ljMcY59iOdGYeToadCuQ3t0lrBnsBdot+NiT6e+JJ04=",
+                "rev": "681c33c8547d6aefe24455ba2bffe1c5ae11fee5",
+                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git"
+            },
+            "src/third_party/wayland/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-YSo1DznmcaYSUcJl/3voVSfZfuLokAFQt6F3M1Iat28=",
+                "rev": "c35d1a3d1c0a1735afe5eb227cb826faa878ec19",
+                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git"
             },
             "src/third_party/webdriver/pylib": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-WIqWXIKVgElgg8P8laLAlUrgwodGdeVcwohZxnPKedw=",
-                "url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git",
-                "rev": "fc5e7e70c098bfb189a9a74746809ad3c5c34e04"
+                "rev": "fc5e7e70c098bfb189a9a74746809ad3c5c34e04",
+                "url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git"
             },
             "src/third_party/webgl/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-dubsIPZKBGOzANGvMtQxFKFIHr0laDUGpzgRyEOjHMU=",
-                "url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git",
-                "rev": "f4bf599a8b575df685c31d9c4729a70a04e377ed"
+                "rev": "f4bf599a8b575df685c31d9c4729a70a04e377ed",
+                "url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git"
             },
             "src/third_party/webgpu-cts/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-RC2t+H44HyIvHLRcZyebSgVZvbmtw0vsy2KJRUlvTKs=",
-                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
-                "rev": "e082b08475761a2ba6a3349dfea72f704c8b68d4"
+                "hash": "sha256-/duXwmqanyI2KEnV5izvr0kE8tJNI1F1jMMIY0ylLH8=",
+                "rev": "addbf812fd750dc8cebbd63732e7ce54a763fbee",
+                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git"
             },
             "src/third_party/webrtc": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-KipyGhohU2fQF67dDm4tPeH9xbFC2FNxhU4yiga5pwg=",
-                "url": "https://webrtc.googlesource.com/src.git",
-                "rev": "6b419a0536b1a0ccfff3682f997c6f19bcbd9bd8"
-            },
-            "src/third_party/wuffs/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-373d2F/STcgCHEq+PO+SCHrKVOo6uO1rqqwRN5eeBCw=",
-                "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
-                "rev": "e3f919ccfe3ef542cfc983a82146070258fb57f8"
+                "hash": "sha256-USSfh+vUFrWnXYvZIORRb4AEGNSCPub2cNqEdZD9mKM=",
+                "rev": "a55ff9e83e4592010969d428bee656bace8cbc3b",
+                "url": "https://webrtc.googlesource.com/src.git"
             },
             "src/third_party/weston/src": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-y2srFaPUOoB2umzpo4+hFfhNlqXM2AoMGOpUy/ZSacg=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git",
-                "rev": "ccf29cb237c3ed09c5f370f35239c93d07abfdd7"
+                "rev": "ccf29cb237c3ed09c5f370f35239c93d07abfdd7",
+                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git"
+            },
+            "src/third_party/wuffs/src": {
+                "fetcher": "fetchFromGitiles",
+                "hash": "sha256-373d2F/STcgCHEq+PO+SCHrKVOo6uO1rqqwRN5eeBCw=",
+                "rev": "e3f919ccfe3ef542cfc983a82146070258fb57f8",
+                "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git"
             },
             "src/third_party/xdg-utils": {
                 "fetcher": "fetchFromGitiles",
                 "hash": "sha256-WuQ9uDq+QD17Y20ACFGres4nbkeOiTE2y+tY1avAT5U=",
-                "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git",
-                "rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44"
+                "rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44",
+                "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git"
             },
             "src/third_party/xnnpack/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-JE3qg3lTpKTLgnpiNw6+wkhVXGx55MiyVDuvEp7Dk0Y=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git",
-                "rev": "a68aa0a24b0d3e1c75f2f7c0915b70121cee0470"
+                "hash": "sha256-Cmw+rj805YTnnCwy2Zwzi2ZW4sdX5JWjTnBaUB6+YyU=",
+                "rev": "7e696d941310a528dd2d6fbee3d499d19b24746d",
+                "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git"
             },
-            "src/tools/page_cycler/acid3": {
+            "src/third_party/zstd/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-s/49EaYQRsyxuLejXc1zGDYTD7uO0ddaQIJBP50Bvw0=",
-                "url": "https://chromium.googlesource.com/chromium/deps/acid3.git",
-                "rev": "a926d0a32e02c4c03ae95bb798e6c780e0e184ba"
+                "hash": "sha256-hWfYKiTzkmeiUTgNrSYXOFauusSVceVhD04Hgk69CK4=",
+                "rev": "621a263fb2e6c2175fbd489e5d77ee8038baa2b2",
+                "url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git"
             },
-            "src/third_party/zstd/src": {
+            "src/tools/page_cycler/acid3": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9FxRLrcbJoWAd+3Elr9mJ3vG6ilT6ZQZqdY9OiTpcWw=",
-                "url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git",
-                "rev": "050fec5c378d676fede8b2171ec5e84f6afa1504"
+                "hash": "sha256-s/49EaYQRsyxuLejXc1zGDYTD7uO0ddaQIJBP50Bvw0=",
+                "rev": "a926d0a32e02c4c03ae95bb798e6c780e0e184ba",
+                "url": "https://chromium.googlesource.com/chromium/deps/acid3.git"
             },
             "src/v8": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-qDQ1rt/9nfv9L6RJLZDb1KTn9+Z70XDjkTs6gOt3u/Y=",
-                "url": "https://chromium.googlesource.com/v8/v8.git",
-                "rev": "ddb4756a90fb7d89dc789859f8b2a3639d8de125"
-            },
-            "src/third_party/nan": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-cwti+BWmF/l/dqa/cN0C587EK4WwRWcWy6gjFVkaMTg=",
-                "owner": "nodejs",
-                "repo": "nan",
-                "rev": "e14bdcd1f72d62bca1d541b66da43130384ec213"
-            },
-            "src/third_party/electron_node": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-lGNDwe3IiQMLg5o0AMhLfNpyfu4dXVk05YRO0yMzg0I=",
-                "owner": "nodejs",
-                "repo": "node",
-                "rev": "v20.9.0"
-            },
-            "src/third_party/squirrel.mac": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-4GfKQg0u3c9GI+jl3ixESNqWXQJKRMi+00QT0s2Shqw=",
-                "owner": "Squirrel",
-                "repo": "Squirrel.Mac",
-                "rev": "0e5d146ba13101a1302d59ea6e6e0b3cace4ae38"
-            },
-            "src/third_party/squirrel.mac/vendor/ReactiveObjC": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-/MCqC1oFe3N9TsmfVLgl+deR6qHU6ZFQQjudb9zB5Mo=",
-                "owner": "ReactiveCocoa",
-                "repo": "ReactiveObjC",
-                "rev": "74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76"
-            },
-            "src/third_party/squirrel.mac/vendor/Mantle": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-ogFkMJybf2Ue606ojXJu6Gy5aXSi1bSKm60qcTAIaPk=",
-                "owner": "Mantle",
-                "repo": "Mantle",
-                "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
-            },
-            "src/third_party/engflow-reclient-configs": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-aZXYPj9KYBiZnljqOLlWJWS396Fg3EhjiQLZmkwCBsY=",
-                "owner": "EngFlow",
-                "repo": "reclient-configs",
-                "rev": "955335c30a752e9ef7bff375baab5e0819b6c00d"
+                "hash": "sha256-ME/O8CJASZ8Ql931EaTRM3+6lLzGx1us/cK9Dv7Bd+s=",
+                "rev": "cc9dc1eb196bc3cbeca92eeec62949b4ac7cd757",
+                "url": "https://chromium.googlesource.com/v8/v8.git"
             }
         },
-        "version": "29.3.0",
-        "modules": "121",
-        "chrome": "122.0.6261.156",
-        "node": "20.9.0",
-        "chromium": {
-            "version": "122.0.6261.156",
-            "deps": {
-                "gn": {
-                    "version": "2024-01-22",
-                    "url": "https://gn.googlesource.com/gn",
-                    "rev": "f99e015ac35f689cfdbf46e4eb174e5d2da78d8e",
-                    "hash": "sha256-UhdDsq9JyP0efGpAaJ/nLp723BbjM6pkFPcAnQbgMKY="
-                }
-            }
-        },
-        "electron_yarn_hash": "0f868gk3d2cablpczav8a4vhk4nfirph45yzjz18mgzgday7w8hf",
-        "chromium_npm_hash": "sha256-9eFsK673j3pTDOcsU35RN4hagFygA/v/ahCqVVEV0Rs="
+        "electron_yarn_hash": "0w41mjfnrhmkf2qy4lk5zwhc7afkaiqypxs4379s4ay1r6zpvf6q",
+        "modules": "123",
+        "node": "20.14.0",
+        "version": "30.1.1"
     }
 }
diff --git a/pkgs/development/tools/electron/update.py b/pkgs/development/tools/electron/update.py
index 128b1dc050672..bf0f7a3a4758f 100755
--- a/pkgs/development/tools/electron/update.py
+++ b/pkgs/development/tools/electron/update.py
@@ -1,81 +1,105 @@
 #! /usr/bin/env nix-shell
 #! nix-shell -i python -p python3.pkgs.joblib python3.pkgs.click python3.pkgs.click-log nix nix-prefetch-git nix-universal-prefetch prefetch-yarn-deps prefetch-npm-deps
+"""
+electron updater
 
-import logging
-import click_log
-import click
-import random
-import traceback
-import csv
+A script for updating both binary and source hashes.
+
+It supports the following modes:
+
+| Mode         | Description                                     |
+|------------- | ----------------------------------------------- |
+| `update`     | for updating a specific Electron release        |
+| `update-all` | for updating all electron releases at once      |
+| `eval`       | just print the necessary sources to fetch       |
+
+The `eval` and `update` commands accept an optional `--version` flag
+to restrict the mechanism only to a given major release.
+
+The `update` and `update-all` commands accept an optional `--commit`
+flag to automatically commit the changes for you.
+
+The `update` and `update-all` commands accept optional `--bin-only`
+and `--source-only` flags to restict the update to binary or source
+releases.
+"""
 import base64
+import csv
+import json
+import logging
 import os
+import random
 import re
-import tempfile
 import subprocess
-import json
 import sys
-from joblib import Parallel, delayed, Memory
+import tempfile
+import traceback
+import urllib.request
+
+from abc import ABC
 from codecs import iterdecode
 from datetime import datetime
+from typing import Iterable, Optional, Tuple
 from urllib.request import urlopen
 
-os.chdir(os.path.dirname(__file__))
+import click
+import click_log
+
+from joblib import Parallel, delayed, Memory
 
 depot_tools_checkout = tempfile.TemporaryDirectory()
-subprocess.check_call([
-    "nix-prefetch-git",
-    "--builder", "--quiet",
-    "--url", "https://chromium.googlesource.com/chromium/tools/depot_tools",
-    "--out", depot_tools_checkout.name,
-    "--rev", "7a69b031d58081d51c9e8e89557b343bba8518b1"])
+subprocess.check_call(
+    [
+        "nix-prefetch-git",
+        "--builder",
+        "--quiet",
+        "--url",
+        "https://chromium.googlesource.com/chromium/tools/depot_tools",
+        "--out",
+        depot_tools_checkout.name,
+        "--rev",
+        "7a69b031d58081d51c9e8e89557b343bba8518b1",
+    ]
+)
 sys.path.append(depot_tools_checkout.name)
 
 import gclient_eval
 import gclient_utils
 
-memory = Memory("cache", verbose=0)
 
-@memory.cache
-def get_repo_hash(fetcher, args):
-    cmd = ['nix-universal-prefetch', fetcher]
-    for arg_name, arg in args.items():
-        cmd.append(f'--{arg_name}')
-        cmd.append(arg)
+# Relative path to the electron-source info.json
+SOURCE_INFO_JSON = "info.json"
 
-    print(" ".join(cmd), file=sys.stderr)
-    out = subprocess.check_output(cmd)
-    return out.decode('utf-8').strip()
+# Relatice path to the electron-bin info.json
+BINARY_INFO_JSON = "binary/info.json"
 
-@memory.cache
-def _get_yarn_hash(file):
-    print(f'prefetch-yarn-deps', file=sys.stderr)
-    with tempfile.TemporaryDirectory() as tmp_dir:
-        with open(tmp_dir + '/yarn.lock', 'w') as f:
-            f.write(file)
-        return subprocess.check_output(['prefetch-yarn-deps', tmp_dir + '/yarn.lock']).decode('utf-8').strip()
-def get_yarn_hash(repo, yarn_lock_path = 'yarn.lock'):
-    return _get_yarn_hash(repo.get_file(yarn_lock_path))
+# Number of spaces used for each indentation level
+JSON_INDENT = 4
+
+os.chdir(os.path.dirname(__file__))
+
+memory: Memory = Memory("cache", verbose=0)
+
+logger = logging.getLogger(__name__)
+click_log.basic_config(logger)
 
-@memory.cache
-def _get_npm_hash(file):
-    print(f'prefetch-npm-deps', file=sys.stderr)
-    with tempfile.TemporaryDirectory() as tmp_dir:
-        with open(tmp_dir + '/package-lock.json', 'w') as f:
-            f.write(file)
-        return subprocess.check_output(['prefetch-npm-deps', tmp_dir + '/package-lock.json']).decode('utf-8').strip()
-def get_npm_hash(repo, package_lock_path = 'package-lock.json'):
-    return _get_npm_hash(repo.get_file(package_lock_path))
 
 class Repo:
-    def __init__(self):
-        self.deps = {}
+    fetcher: str
+    args: dict
+
+    def __init__(self) -> None:
+        self.deps: dict = {}
         self.hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
 
-    def get_deps(self, repo_vars, path):
-        print("evaluating " + json.dumps(self, default = vars), file=sys.stderr)
+    def get_deps(self, repo_vars: dict, path: str) -> None:
+        print(
+            "evaluating " + json.dumps(self, default=vars, sort_keys=True),
+            file=sys.stderr,
+        )
 
         deps_file = self.get_file("DEPS")
-        evaluated = gclient_eval.Parse(deps_file, filename='DEPS')
+        evaluated = gclient_eval.Parse(deps_file, filename="DEPS")
 
         repo_vars = dict(evaluated["vars"]) | repo_vars
 
@@ -84,7 +108,12 @@ class Repo:
         self.deps = {
             prefix + dep_name: repo_from_dep(dep)
             for dep_name, dep in evaluated["deps"].items()
-            if (gclient_eval.EvaluateCondition(dep["condition"], repo_vars) if "condition" in dep else True) and repo_from_dep(dep) != None
+            if (
+                gclient_eval.EvaluateCondition(dep["condition"], repo_vars)
+                if "condition" in dep
+                else True
+            )
+            and repo_from_dep(dep) != None
         }
 
         for key in evaluated.get("recursedeps", []):
@@ -92,80 +121,244 @@ class Repo:
             if dep_path in self.deps and dep_path != "src/third_party/squirrel.mac":
                 self.deps[dep_path].get_deps(repo_vars, dep_path)
 
-    def prefetch(self):
+    def prefetch(self) -> None:
         self.hash = get_repo_hash(self.fetcher, self.args)
 
-    def prefetch_all(self):
-        return sum([dep.prefetch_all() for [_, dep] in self.deps.items()], [delayed(self.prefetch)()])
+    def prefetch_all(self) -> int:
+        return sum(
+            [dep.prefetch_all() for [_, dep] in self.deps.items()],
+            [delayed(self.prefetch)()],
+        )
 
-    def flatten_repr(self):
-        return {
-            "fetcher": self.fetcher,
-            "hash": self.hash,
-            **self.args
-        }
+    def flatten_repr(self) -> dict:
+        return {"fetcher": self.fetcher, "hash": self.hash, **self.args}
 
-    def flatten(self, path):
-        out = {
-            path: self.flatten_repr()
-        }
+    def flatten(self, path: str) -> dict:
+        out = {path: self.flatten_repr()}
         for dep_path, dep in self.deps.items():
             out |= dep.flatten(dep_path)
         return out
 
+    def get_file(self, filepath: str) -> str:
+        raise NotImplementedError
+
+
 class GitRepo(Repo):
-    def __init__(self, url, rev):
+    def __init__(self, url: str, rev: str) -> None:
         super().__init__()
-        self.fetcher = 'fetchgit'
+        self.fetcher = "fetchgit"
         self.args = {
             "url": url,
             "rev": rev,
         }
 
+
 class GitHubRepo(Repo):
-    def __init__(self, owner, repo, rev):
+    def __init__(self, owner: str, repo: str, rev: str) -> None:
         super().__init__()
-        self.fetcher = 'fetchFromGitHub'
+        self.fetcher = "fetchFromGitHub"
         self.args = {
             "owner": owner,
             "repo": repo,
             "rev": rev,
         }
 
-    def get_file(self, filepath):
-        return urlopen(f"https://raw.githubusercontent.com/{self.args['owner']}/{self.args['repo']}/{self.args['rev']}/{filepath}").read().decode('utf-8')
+    def get_file(self, filepath: str) -> str:
+        return (
+            urlopen(
+                f"https://raw.githubusercontent.com/{self.args['owner']}/{self.args['repo']}/{self.args['rev']}/{filepath}"
+            )
+            .read()
+            .decode("utf-8")
+        )
+
 
 class GitilesRepo(Repo):
-    def __init__(self, url, rev):
+    def __init__(self, url: str, rev: str) -> None:
         super().__init__()
-        self.fetcher = 'fetchFromGitiles'
-        #self.fetcher = 'fetchgit'
+        self.fetcher = "fetchFromGitiles"
+        # self.fetcher = 'fetchgit'
         self.args = {
             "url": url,
             "rev": rev,
-            #"fetchSubmodules": "false",
+            # "fetchSubmodules": "false",
         }
 
         if url == "https://chromium.googlesource.com/chromium/src.git":
-            self.args['postFetch'] = "rm -r $out/third_party/blink/web_tests; "
-            self.args['postFetch'] += "rm -r $out/third_party/hunspell/tests; "
-            self.args['postFetch'] += "rm -r $out/content/test/data; "
-            self.args['postFetch'] += "rm -r $out/courgette/testdata; "
-            self.args['postFetch'] += "rm -r $out/extensions/test/data; "
-            self.args['postFetch'] += "rm -r $out/media/test/data; "
+            self.args["postFetch"] = "rm -r $out/third_party/blink/web_tests; "
+            self.args["postFetch"] += "rm -r $out/third_party/hunspell/tests; "
+            self.args["postFetch"] += "rm -r $out/content/test/data; "
+            self.args["postFetch"] += "rm -r $out/courgette/testdata; "
+            self.args["postFetch"] += "rm -r $out/extensions/test/data; "
+            self.args["postFetch"] += "rm -r $out/media/test/data; "
+
+    def get_file(self, filepath: str) -> str:
+        return base64.b64decode(
+            urlopen(
+                f"{self.args['url']}/+/{self.args['rev']}/{filepath}?format=TEXT"
+            ).read()
+        ).decode("utf-8")
+
+
+class ElectronBinRepo(GitHubRepo):
+    def __init__(self, owner: str, repo: str, rev: str) -> None:
+        super().__init__(owner, repo, rev)
+        self.systems = {
+            "i686-linux": "linux-ia32",
+            "x86_64-linux": "linux-x64",
+            "armv7l-linux": "linux-armv7l",
+            "aarch64-linux": "linux-arm64",
+            "x86_64-darwin": "darwin-x64",
+            "aarch64-darwin": "darwin-arm64",
+        }
+
+    def get_shasums256(self, version: str) -> list:
+        """Returns the contents of SHASUMS256.txt"""
+        try:
+            called_process: subprocess.CompletedProcess = subprocess.run(
+                [
+                    "nix-prefetch-url",
+                    "--print-path",
+                    f"https://github.com/electron/electron/releases/download/v{version}/SHASUMS256.txt",
+                ],
+                capture_output=True,
+                check=True,
+                text=True,
+            )
+
+            hash_file_path = called_process.stdout.split("\n")[1]
+
+            with open(hash_file_path, "r") as f:
+                return f.read().split("\n")
+
+        except subprocess.CalledProcessError as err:
+            print(err.stderr)
+            sys.exit(1)
+
+    def get_headers(self, version: str) -> str:
+        """Returns the hash of the release headers tarball"""
+        try:
+            called_process: subprocess.CompletedProcess = subprocess.run(
+                [
+                    "nix-prefetch-url",
+                    f"https://artifacts.electronjs.org/headers/dist/v{version}/node-v{version}-headers.tar.gz",
+                ],
+                capture_output=True,
+                check=True,
+                text=True,
+            )
+            return called_process.stdout.split("\n")[0]
+        except subprocess.CalledProcessError as err:
+            print(err.stderr)
+            sys.exit(1)
+
+    def get_hashes(self, major_version: str) -> dict:
+        """Returns a dictionary of hashes for a given major version"""
+        m, _ = get_latest_version(major_version)
+        version: str = m["version"]
+
+        out = {}
+        out[major_version] = {
+            "hashes": {},
+            "version": version,
+        }
+
+        hashes: list = self.get_shasums256(version)
+
+        for nix_system, electron_system in self.systems.items():
+            filename = f"*electron-v{version}-{electron_system}.zip"
+            if any([x.endswith(filename) for x in hashes]):
+                out[major_version]["hashes"][nix_system] = [
+                    x.split(" ")[0] for x in hashes if x.endswith(filename)
+                ][0]
+                out[major_version]["hashes"]["headers"] = self.get_headers(version)
+
+        return out
 
-    def get_file(self, filepath):
-        return base64.b64decode(urlopen(f"{self.args['url']}/+/{self.args['rev']}/{filepath}?format=TEXT").read()).decode('utf-8')
 
-def repo_from_dep(dep):
+# Releases that have reached end-of-life no longer receive any updates
+# and it is rather pointless trying to update those.
+#
+# https://endoflife.date/electron
+@memory.cache
+def supported_version_range() -> range:
+    """Returns a range of electron releases that have not reached end-of-life yet"""
+    releases_json = json.loads(
+        urlopen("https://endoflife.date/api/electron.json").read()
+    )
+    supported_releases = [
+        int(x["cycle"])
+        for x in releases_json
+        if x["eol"] == False
+        or datetime.strptime(x["eol"], "%Y-%m-%d") > datetime.today()
+    ]
+
+    return range(
+        min(supported_releases),  # incl.
+        # We have also packaged the beta release in nixpkgs,
+        # but it is not tracked by endoflife.date
+        max(supported_releases) + 2,  # excl.
+        1,
+    )
+
+
+@memory.cache
+def get_repo_hash(fetcher: str, args: dict) -> str:
+    cmd = ["nix-universal-prefetch", fetcher]
+    for arg_name, arg in args.items():
+        cmd.append(f"--{arg_name}")
+        cmd.append(arg)
+
+    print(" ".join(cmd), file=sys.stderr)
+    out = subprocess.check_output(cmd)
+    return out.decode("utf-8").strip()
+
+
+@memory.cache
+def _get_yarn_hash(path: str) -> str:
+    print(f"prefetch-yarn-deps", file=sys.stderr)
+    with tempfile.TemporaryDirectory() as tmp_dir:
+        with open(tmp_dir + "/yarn.lock", "w") as f:
+            f.write(path)
+        return (
+            subprocess.check_output(["prefetch-yarn-deps", tmp_dir + "/yarn.lock"])
+            .decode("utf-8")
+            .strip()
+        )
+
+
+def get_yarn_hash(repo: Repo, yarn_lock_path: str = "yarn.lock") -> str:
+    return _get_yarn_hash(repo.get_file(yarn_lock_path))
+
+
+@memory.cache
+def _get_npm_hash(filename: str) -> str:
+    print(f"prefetch-npm-deps", file=sys.stderr)
+    with tempfile.TemporaryDirectory() as tmp_dir:
+        with open(tmp_dir + "/package-lock.json", "w") as f:
+            f.write(filename)
+        return (
+            subprocess.check_output(
+                ["prefetch-npm-deps", tmp_dir + "/package-lock.json"]
+            )
+            .decode("utf-8")
+            .strip()
+        )
+
+
+def get_npm_hash(repo: Repo, package_lock_path: str = "package-lock.json") -> str:
+    return _get_npm_hash(repo.get_file(package_lock_path))
+
+
+def repo_from_dep(dep: dict) -> Optional[Repo]:
     if "url" in dep:
         url, rev = gclient_utils.SplitUrlRevision(dep["url"])
 
-        search_object = re.search(r'https://github.com/(.+)/(.+?)(\.git)?$', url)
+        search_object = re.search(r"https://github.com/(.+)/(.+?)(\.git)?$", url)
         if search_object:
             return GitHubRepo(search_object.group(1), search_object.group(2), rev)
 
-        if re.match(r'https://.+.googlesource.com', url):
+        if re.match(r"https://.+.googlesource.com", url):
             return GitilesRepo(url, rev)
 
         return GitRepo(url, rev)
@@ -173,107 +366,404 @@ def repo_from_dep(dep):
         # Not a git dependency; skip
         return None
 
-def get_gn_source(repo):
+
+def get_gn_source(repo: Repo) -> dict:
     gn_pattern = r"'gn_version': 'git_revision:([0-9a-f]{40})'"
     gn_commit = re.search(gn_pattern, repo.get_file("DEPS")).group(1)
-    gn = subprocess.check_output([
-        "nix-prefetch-git",
-        "--quiet",
-        "https://gn.googlesource.com/gn",
-        "--rev", gn_commit
-        ])
-    gn = json.loads(gn)
+    gn_prefetch: bytes = subprocess.check_output(
+        [
+            "nix-prefetch-git",
+            "--quiet",
+            "https://gn.googlesource.com/gn",
+            "--rev",
+            gn_commit,
+        ]
+    )
+    gn: dict = json.loads(gn_prefetch)
     return {
         "gn": {
             "version": datetime.fromisoformat(gn["date"]).date().isoformat(),
             "url": gn["url"],
             "rev": gn["rev"],
-            "hash": gn["hash"]
+            "hash": gn["hash"],
         }
     }
 
-def get_electron_info(major_version):
-    electron_releases = json.loads(urlopen("https://releases.electronjs.org/releases.json").read())
-    major_version_releases = filter(lambda item: item["version"].startswith(f"{major_version}."), electron_releases)
+
+def get_latest_version(major_version: str) -> Tuple[str, str]:
+    """Returns the latest version for a given major version"""
+    electron_releases: dict = json.loads(
+        urlopen("https://releases.electronjs.org/releases.json").read()
+    )
+    major_version_releases = filter(
+        lambda item: item["version"].startswith(f"{major_version}."), electron_releases
+    )
     m = max(major_version_releases, key=lambda item: item["date"])
 
-    rev=f"v{m['version']}"
+    rev = f"v{m['version']}"
+    return (m, rev)
 
-    electron_repo = GitHubRepo("electron", "electron", rev)
-    electron_repo.recurse = True
 
-    electron_repo.get_deps({
-        f"checkout_{platform}": platform == "linux"
-        for platform in ["ios", "chromeos", "android", "mac", "win", "linux"]
-    }, "src/electron")
+def get_electron_bin_info(major_version: str) -> Tuple[str, str, ElectronBinRepo]:
+    m, rev = get_latest_version(major_version)
 
+    electron_repo: ElectronBinRepo = ElectronBinRepo("electron", "electron", rev)
     return (major_version, m, electron_repo)
 
-logger = logging.getLogger(__name__)
-click_log.basic_config(logger)
 
-@click.group()
-def cli():
-    pass
+def get_electron_info(major_version: str) -> Tuple[str, str, GitHubRepo]:
+    m, rev = get_latest_version(major_version)
+
+    electron_repo: GitHubRepo = GitHubRepo("electron", "electron", rev)
+    electron_repo.get_deps(
+        {
+            f"checkout_{platform}": platform == "linux"
+            for platform in ["ios", "chromeos", "android", "mac", "win", "linux"]
+        },
+        "src/electron",
+    )
+
+    return (major_version, m, electron_repo)
 
-@cli.command("eval")
-@click.option("--version", help="The major version, e.g. '23'")
-def eval(version):
-    (_, _, repo) = electron_repo = get_electron_info(version)
-    tree = electron_repo.flatten("src/electron")
-    print(json.dumps(tree, indent=4, default = vars))
 
-def get_update(repo):
+def get_update(repo: Tuple[str, str, Repo]) -> Tuple[str, dict]:
     (major_version, m, electron_repo) = repo
 
     tasks = electron_repo.prefetch_all()
-    a = lambda: (
-        ("electron_yarn_hash", get_yarn_hash(electron_repo))
-    )
+    a = lambda: (("electron_yarn_hash", get_yarn_hash(electron_repo)))
     tasks.append(delayed(a)())
     a = lambda: (
-        ("chromium_npm_hash", get_npm_hash(electron_repo.deps["src"], "third_party/node/package-lock.json"))
+        (
+            "chromium_npm_hash",
+            get_npm_hash(
+                electron_repo.deps["src"], "third_party/node/package-lock.json"
+            ),
+        )
     )
     tasks.append(delayed(a)())
     random.shuffle(tasks)
 
-    task_results = {n[0]: n[1] for n in Parallel(n_jobs=3, require='sharedmem', return_as="generator")(tasks) if n != None}
+    task_results = {
+        n[0]: n[1]
+        for n in Parallel(n_jobs=3, require="sharedmem", return_as="generator")(tasks)
+        if n != None
+    }
 
     tree = electron_repo.flatten("src/electron")
 
-    return (f"{major_version}", {
-      "deps": tree,
-      **{key: m[key] for key in ["version", "modules", "chrome", "node"]},
-      "chromium": {
-          "version": m['chrome'],
-          "deps": get_gn_source(electron_repo.deps["src"])
-      },
-      **task_results
-    })
-
-@cli.command("update")
-@click.option("--version", help="The major version, e.g. '23'")
-def update(version):
+    return (
+        f"{major_version}",
+        {
+            "deps": tree,
+            **{key: m[key] for key in ["version", "modules", "chrome", "node"]},
+            "chromium": {
+                "version": m["chrome"],
+                "deps": get_gn_source(electron_repo.deps["src"]),
+            },
+            **task_results,
+        },
+    )
+
+
+def load_info_json(path: str) -> dict:
+    """Load the contents of a JSON file
+
+    Args:
+        path: The path to the JSON file
+
+    Returns: An empty dict if the path does not exist, otherwise the contents of the JSON file.
+    """
     try:
-        with open('info.json', 'r') as f:
-            old_info = json.loads(f.read())
+        with open(path, "r") as f:
+            return json.loads(f.read())
     except:
-        old_info = {}
-    repo = get_electron_info(version)
-    update = get_update(repo)
-    out = old_info | { update[0]: update[1] }
-    with open('info.json', 'w') as f:
-        f.write(json.dumps(out, indent=4, default = vars))
-        f.write('\n')
-
-@cli.command("update-all")
-def update_all():
-    repos = Parallel(n_jobs=2, require='sharedmem')(delayed(get_electron_info)(major_version) for major_version in range(28, 24, -1))
-    out = {n[0]: n[1] for n in Parallel(n_jobs=2, require='sharedmem')(delayed(get_update)(repo) for repo in repos)}
-
-    with open('info.json', 'w') as f:
-        f.write(json.dumps(out, indent=4, default = vars))
-        f.write('\n')
+        return {}
+
+
+def save_info_json(path: str, content: dict) -> None:
+    """Saves the given info to a JSON file
+
+    Args:
+        path: The path where the info should be saved
+        content: The content to be saved as JSON.
+    """
+    with open(path, "w") as f:
+        f.write(json.dumps(content, indent=JSON_INDENT, default=vars, sort_keys=True))
+        f.write("\n")
+
+
+def update_bin(major_version: str, commit: bool) -> None:
+    """Update a given electron-bin release
+
+    Args:
+        major_version: The major version number, e.g. '27'
+        commit: Whether the updater should commit the result
+    """
+    package_name = f"electron_{major_version}-bin"
+    print(f"Updating {package_name}")
+
+    electron_bin_info = get_electron_bin_info(major_version)
+    (_major_version, _version, repo) = electron_bin_info
+
+    old_info = load_info_json(BINARY_INFO_JSON)
+    new_info = repo.get_hashes(major_version)
+
+    out = old_info | new_info
+
+    save_info_json(BINARY_INFO_JSON, out)
+
+    old_version = (
+        old_info[major_version]["version"] if major_version in old_info else None
+    )
+    new_version = new_info[major_version]["version"]
+    if old_version == new_version:
+        print(f"{package_name} is up-to-date")
+    elif commit:
+        commit_result(package_name, old_version, new_version, BINARY_INFO_JSON)
+
+
+def update_source(major_version: str, commit: bool) -> None:
+    """Update a given electron-source release
+
+    Args:
+        major_version: The major version number, e.g. '27'
+        commit: Whether the updater should commit the result
+    """
+    package_name = f"electron-source.electron_{major_version}"
+    print(f"Updating electron-source.electron_{major_version}")
+
+    old_info = load_info_json(SOURCE_INFO_JSON)
+    old_version = (
+        old_info[str(major_version)]["version"]
+        if str(major_version) in old_info
+        else None
+    )
+
+    electron_source_info = get_electron_info(major_version)
+    new_info = get_update(electron_source_info)
+    out = old_info | {new_info[0]: new_info[1]}
+
+    save_info_json(SOURCE_INFO_JSON, out)
+
+    new_version = new_info[1]["version"]
+    if old_version == new_version:
+        print(f"{package_name} is up-to-date")
+    elif commit:
+        commit_result(package_name, old_version, new_version, SOURCE_INFO_JSON)
+
+
+def non_eol_releases(releases: Iterable[int]) -> Iterable[int]:
+    """Returns a list of releases that have not reached end-of-life yet."""
+    return tuple(filter(lambda x: x in supported_version_range(), releases))
+
+
+def update_all_source(commit: bool) -> None:
+    """Update all eletron-source releases at once
+
+    Args:
+        commit: Whether to commit the result
+    """
+    old_info = load_info_json(SOURCE_INFO_JSON)
+
+    filtered_releases = non_eol_releases(tuple(map(lambda x: int(x), old_info.keys())))
+
+    # This might take some time
+    repos = Parallel(n_jobs=2, require="sharedmem")(
+        delayed(get_electron_info)(major_version) for major_version in filtered_releases
+    )
+    new_info = {
+        n[0]: n[1]
+        for n in Parallel(n_jobs=2, require="sharedmem")(
+            delayed(get_update)(repo) for repo in repos
+        )
+    }
+
+    if commit:
+        for major_version in filtered_releases:
+            # Since the sources have been fetched at this point already,
+            # fetching them again will be much faster.
+            update_source(str(major_version), commit)
+    else:
+        out = old_info | {new_info[0]: new_info[1]}
+        save_info_json(SOURCE_INFO_JSON, out)
+
+
+def parse_cve_numbers(tag_name: str) -> Iterable[str]:
+    """Returns mentioned CVE numbers from a given release tag"""
+    cve_pattern = r"CVE-\d{4}-\d+"
+    url = f"https://api.github.com/repos/electron/electron/releases/tags/{tag_name}"
+    headers = {
+        "Accept": "application/vnd.github+json",
+        "X-GitHub-Api-Version": "2022-11-28",
+    }
+    request = urllib.request.Request(url=url, headers=headers)
+    release_note = ""
+    try:
+        with urlopen(request) as response:
+            release_note = json.loads(response.read().decode("utf-8"))["body"]
+    except:
+        print(
+            f"WARN: Fetching release note for {tag_name} from GitHub failed!",
+            file=sys.stderr,
+        )
+
+    return sorted(re.findall(cve_pattern, release_note))
+
+
+def commit_result(
+    package_name: str, old_version: Optional[str], new_version: str, path: str
+) -> None:
+    """Creates a git commit with a short description of the change
+
+    Args:
+        package_name: The package name, e.g. `electron-source.electron-{major_version}`
+            or `electron_{major_version}-bin`
+
+        old_version: Version number before the update.
+            Can be left empty when initializing a new release.
+
+        new_version: Version number after the update.
+
+        path: Path to the lockfile to be committed
+    """
+    assert (
+        isinstance(package_name, str) and len(package_name) > 0
+    ), "Argument `package_name` cannot be empty"
+    assert (
+        isinstance(new_version, str) and len(new_version) > 0
+    ), "Argument `new_version` cannot be empty"
+
+    if old_version != new_version:
+        major_version = new_version.split(".")[0]
+        cve_fixes_text = "\n".join(
+            list(
+                map(lambda cve: f"- Fixes {cve}", parse_cve_numbers(f"v{new_version}"))
+            )
+        )
+        init_msg = f"init at {new_version}"
+        update_msg = f"{old_version} -> {new_version}"
+        diff = f"- Diff: https://github.com/electron/electron/compare/refs/tags/v{old_version}...v{new_version}\n" if old_version != None else ""
+        commit_message = f"""{package_name}: {update_msg if old_version != None else init_msg}
+
+- Changelog: https://github.com/electron/electron/releases/tag/v{new_version}
+{diff}{cve_fixes_text}
+"""
+        subprocess.run(
+            [
+                "git",
+                "add",
+                path,
+            ]
+        )
+        subprocess.run(
+            [
+                "git",
+                "commit",
+                "-m",
+                commit_message,
+            ]
+        )
+
+
+@click.group()
+def cli() -> None:
+    """A script for updating electron-bin and electron-source hashes"""
+    pass
+
+
+@cli.command(
+    "eval", help="Print the necessary sources to fetch for a given major release"
+)
+@click.option("--version", help="The major version, e.g. '23'")
+def eval(version):
+    (_, _, repo) = electron_repo = get_electron_info(version)
+    tree = repo.flatten("src/electron")
+    print(json.dumps(tree, indent=JSON_INDENT, default=vars, sort_keys=True))
+
+
+@cli.command("update", help="Update a single major release")
+@click.option("-v", "--version", help="The major version, e.g. '23'")
+@click.option(
+    "-b",
+    "--bin-only",
+    is_flag=True,
+    default=False,
+    help="Only update electron-bin packages",
+)
+@click.option(
+    "-s",
+    "--source-only",
+    is_flag=True,
+    default=False,
+    help="Only update electron-source packages",
+)
+@click.option("-c", "--commit", is_flag=True, default=False, help="Commit the result")
+def update(version: str, bin_only: bool, source_only: bool, commit: bool) -> None:
+    assert isinstance(version, str) and len(version) > 0, "version must be non-empty"
+
+    if bin_only and source_only:
+        print(
+            "Error: Omit --bin-only and --source-only if you want to update both source and binary packages.",
+            file=sys.stderr,
+        )
+        sys.exit(1)
+
+    elif bin_only:
+        update_bin(version, commit)
+
+    elif source_only:
+        update_source(version, commit)
+
+    else:
+        update_bin(version, commit)
+        update_source(version, commit)
+
+
+@cli.command("update-all", help="Update all releases at once")
+@click.option(
+    "-b",
+    "--bin-only",
+    is_flag=True,
+    default=False,
+    help="Only update electron-bin packages",
+)
+@click.option(
+    "-s",
+    "--source-only",
+    is_flag=True,
+    default=False,
+    help="Only update electron-source packages",
+)
+@click.option("-c", "--commit", is_flag=True, default=False, help="Commit the result")
+def update_all(bin_only: bool, source_only: bool, commit: bool) -> None:
+    # Filter out releases that have reached end-of-life
+    filtered_bin_info = dict(
+        filter(
+            lambda entry: int(entry[0]) in supported_version_range(),
+            load_info_json(BINARY_INFO_JSON).items(),
+        )
+    )
+
+    if bin_only and source_only:
+        print(
+            "Error: omit --bin-only and --source-only if you want to update both source and binary packages.",
+            file=sys.stderr,
+        )
+        sys.exit(1)
+
+    elif bin_only:
+        for major_version, _ in filtered_bin_info.items():
+            update_bin(major_version, commit)
+
+    elif source_only:
+        update_all_source(commit)
+
+    else:
+        for major_version, _ in filtered_bin_info.items():
+            update_bin(major_version, commit)
+
+        update_all_source(commit)
+
 
 if __name__ == "__main__":
     cli()
diff --git a/pkgs/development/tools/elkhound/default.nix b/pkgs/development/tools/elkhound/default.nix
index 19bb3b7005a53..562c11a5278a7 100644
--- a/pkgs/development/tools/elkhound/default.nix
+++ b/pkgs/development/tools/elkhound/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A parser generator which emits GLR parsers, either in OCaml or C++";
+    description = "Parser generator which emits GLR parsers, either in OCaml or C++";
     homepage = "https://scottmcpeak.com/elkhound/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ peterhoeg ];
diff --git a/pkgs/development/tools/enochecker-test/default.nix b/pkgs/development/tools/enochecker-test/default.nix
index 7e0f25317eac4..ca6a49e3502fd 100644
--- a/pkgs/development/tools/enochecker-test/default.nix
+++ b/pkgs/development/tools/enochecker-test/default.nix
@@ -2,7 +2,6 @@
 , buildPythonApplication
 , fetchPypi
 , pythonOlder
-, pythonRelaxDepsHook
 
 , certifi
 , charset-normalizer
@@ -34,7 +33,6 @@ buildPythonApplication rec {
   };
 
   nativeBuildInputs = [
-    pythonRelaxDepsHook
   ];
 
   pythonRelaxDeps = true;
diff --git a/pkgs/development/tools/ent/default.nix b/pkgs/development/tools/ent/default.nix
index a1357c8ab2d3a..2fb2b1b132283 100644
--- a/pkgs/development/tools/ent/default.nix
+++ b/pkgs/development/tools/ent/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ent-go";
-  version = "0.12.5";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "ent";
     repo = "ent";
     rev = "v${version}";
-    sha256 = "sha256-g4n9cOTv/35WkvMjrtP2eEcbiu5kiafVXifz1zlEuCY=";
+    sha256 = "sha256-OEQWNWGVs0QYhPuCGEFgAVaUnfswmvWVt+e0cAdkBKE=";
   };
 
-  vendorHash = "sha256-DUi4Ik+qFbx4LIm9MDJ4H9/+sIfCzK8MMGKp0GIGX7w=";
+  vendorHash = "sha256-9KdSGIyi95EVQq9jGoVqK8aq3JXlQXB+Qwlh/Kfz4Oc=";
 
   subPackages = [ "cmd/ent" ];
 
@@ -29,13 +29,13 @@ buildGoModule rec {
       --zsh <($out/bin/ent completion zsh)
   '';
 
-  meta = with lib; {
-    description = "An entity framework for Go";
+  meta = {
+    description = "Entity framework for Go";
     homepage = "https://entgo.io/";
+    changelog = "https://github.com/ent/ent/releases/tag/v${version}";
     downloadPage = "https://github.com/ent/ent";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ ];
+    license = lib.licenses.asl20;
+    maintainers = [ ];
     mainProgram = "ent";
   };
 }
-
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index f4d9c8542ed0e..b405a22d8a64b 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.20.2";
+  version = "0.21.5";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    hash = "sha256-h/Vqwax4B4nehRP9TaYbdixAZdb1hx373dNxNHvDrtY=";
+    hash = "sha256-FpvXWIlt67G8w3pBKZo/mcp57LunxDmRUaCU/Ne89B8=";
   };
 
   vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
@@ -18,7 +18,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
-    description = "An extremely fast JavaScript bundler";
+    description = "Extremely fast JavaScript bundler";
     homepage = "https://esbuild.github.io";
     changelog = "https://github.com/evanw/esbuild/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/development/tools/esbuild/netlify.nix b/pkgs/development/tools/esbuild/netlify.nix
index 1ed35d64f027c..d94f78bc8b266 100644
--- a/pkgs/development/tools/esbuild/netlify.nix
+++ b/pkgs/development/tools/esbuild/netlify.nix
@@ -1,7 +1,6 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
-, fetchpatch
 , netlify-cli
 }:
 
@@ -25,7 +24,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A fork of esbuild maintained by netlify";
+    description = "Fork of esbuild maintained by netlify";
     homepage = "https://github.com/netlify/esbuild";
     license = licenses.mit;
     maintainers = with maintainers; [ roberth ];
diff --git a/pkgs/development/tools/espup/default.nix b/pkgs/development/tools/espup/default.nix
index 145f681f1cbc1..f3624575f8f9a 100644
--- a/pkgs/development/tools/espup/default.nix
+++ b/pkgs/development/tools/espup/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "espup";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "esp-rs";
     repo = "espup";
     rev = "v${version}";
-    hash = "sha256-BW71yFX4jfx90KHdynkGSqWD4diyjEBQfdBNquVdDDI=";
+    hash = "sha256-ofC9pBKZEKGNNirshhfcCkzWN4CvD7IfArZaikkfnmI=";
   };
 
-  cargoHash = "sha256-iUVOU1P996hLC1rR/wWtsDBkKSB0rD7PPh6ZsQkHq3I=";
+  cargoHash = "sha256-fM1If/RnPzLDYjUImNkMViWkjXBc5YRIJHthypcJfmc=";
 
   nativeBuildInputs = [
     pkg-config
@@ -68,7 +68,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "Tool for installing and maintaining Espressif Rust ecosystem.";
+    description = "Tool for installing and maintaining Espressif Rust ecosystem";
     homepage = "https://github.com/esp-rs/espup/";
     license = with licenses; [ mit asl20 ];
     maintainers = with maintainers; [ knightpp beeb ];
diff --git a/pkgs/development/tools/extism-cli/default.nix b/pkgs/development/tools/extism-cli/default.nix
index ebdce3ef60b82..5dfb508441d59 100644
--- a/pkgs/development/tools/extism-cli/default.nix
+++ b/pkgs/development/tools/extism-cli/default.nix
@@ -7,21 +7,21 @@
 
 buildGoModule rec {
   pname = "extism-cli";
-  version = "1.3.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "extism";
     repo = "cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-wHEbTK7bYFOI+I7vQqgku4nkpD87zD7SoU/wpmHqets=";
+    hash = "sha256-b+X0pFrKhcfzucUM8akV061zslkdF1Jc9X1aqCqXagU=";
   };
 
-  modRoot = "./extism";
-
-  vendorHash = "sha256-js8A0AQPpcj1nBNUiSFJ0OlrqDD7AbV/UNHvxBfHG6c=";
+  vendorHash = "sha256-5QSZDPRMlLVyOQGCSxNC5BBiuegschkHA0sWvOVAODI=";
 
   nativeBuildInputs = [ installShellFiles ];
 
+  subPackages = [ "./extism" ];
+
   doCheck = false; # Tests require network access
 
   postInstall = ''
@@ -33,7 +33,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "The extism CLI is used to manage Extism installations";
+    description = "Extism CLI is used to manage Extism installations";
     homepage = "https://github.com/extism/cli";
     license = licenses.bsd3;
     maintainers = with maintainers; [ zshipko ];
diff --git a/pkgs/development/tools/faas-cli/default.nix b/pkgs/development/tools/faas-cli/default.nix
index 2149eb50c2786..66f45af3a5ba4 100644
--- a/pkgs/development/tools/faas-cli/default.nix
+++ b/pkgs/development/tools/faas-cli/default.nix
@@ -18,13 +18,13 @@ let
 in
 buildGoModule rec {
   pname = "faas-cli";
-  version = "0.16.26";
+  version = "0.16.30";
 
   src = fetchFromGitHub {
     owner = "openfaas";
     repo = "faas-cli";
     rev = version;
-    sha256 = "sha256-eyQpeud0rW07eb6wtcTYem10LWf/g2dxRwQEMH29wL8=";
+    sha256 = "sha256-tk0ZptDT4qxJLv5sMAh1oF8yXiTsKbv3UiQM8f4ywMA=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/fable/default.nix b/pkgs/development/tools/fable/default.nix
index 999b9c5f9df07..a8bffafdd1c65 100644
--- a/pkgs/development/tools/fable/default.nix
+++ b/pkgs/development/tools/fable/default.nix
@@ -2,9 +2,9 @@
 
 buildDotnetGlobalTool {
   pname = "fable";
-  version = "4.13.0";
+  version = "4.18.0";
 
-  nugetSha256 = "sha256-jjvAAhnCkCBLG2sq3ehCTdg/thaVW7A7nXyVCSAGm3k=";
+  nugetSha256 = "sha256-PbrFjpltRx4lnQDgQrOKSVHwttePMfOnjljOddkFbmY=";
   passthru.updateScript = ./update.sh;
 
   meta = with lib; {
diff --git a/pkgs/development/tools/fblog/default.nix b/pkgs/development/tools/fblog/default.nix
index 001a1f5298d27..8720d5a7f6251 100644
--- a/pkgs/development/tools/fblog/default.nix
+++ b/pkgs/development/tools/fblog/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fblog";
-  version = "4.9.0";
+  version = "4.10.0";
 
   src = fetchFromGitHub {
     owner = "brocode";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-9v8bn68anWB0vkRIixa6YvNl54z6X8u+MyYs38Zgc5A=";
+    hash = "sha256-4Yg7gWVBG9GI1ailEbbcslM+XR8L7yjjjvf4dQq/87I=";
   };
 
-  cargoHash = "sha256-tXBXI0tlCdfxKscR4Vfw4okJw+jW3EqPz4Rp6xeCdIQ=";
+  cargoHash = "sha256-8rnQllCne1q1uDpeJkqAdzNKSkEgVp+v9drXL8TaQmM=";
 
   meta = with lib; {
-    description = "A small command-line JSON log viewer";
+    description = "Small command-line JSON log viewer";
     mainProgram = "fblog";
     homepage = "https://github.com/brocode/fblog";
     license = licenses.wtfpl;
diff --git a/pkgs/development/tools/fdroidserver/default.nix b/pkgs/development/tools/fdroidserver/default.nix
index 4bf70a004d3eb..e8790999e1530 100644
--- a/pkgs/development/tools/fdroidserver/default.nix
+++ b/pkgs/development/tools/fdroidserver/default.nix
@@ -4,7 +4,6 @@
 , apksigner
 , buildPythonApplication
 , python3
-, pythonRelaxDepsHook
 , installShellFiles
 , androguard
 , babel
@@ -59,7 +58,6 @@ buildPythonApplication rec {
   '';
 
   nativeBuildInputs = [
-    pythonRelaxDepsHook
     installShellFiles
   ];
 
diff --git a/pkgs/development/tools/fermyon-spin/default.nix b/pkgs/development/tools/fermyon-spin/default.nix
index a969baf411f80..17c525d801a5c 100644
--- a/pkgs/development/tools/fermyon-spin/default.nix
+++ b/pkgs/development/tools/fermyon-spin/default.nix
@@ -16,16 +16,18 @@ let
     aarch64-darwin = "macos-aarch64";
   }.${system} or (throw "Unsupported system: ${system}");
 
+  # TODO: It'd be nice to write an update script that would update all of these
+  # hashes together.
   packageHash = {
-    x86_64-linux = "sha256-LHiLkZ+VN+wPnq6OukXozQWKh7ewNaFor1ndCUlCBtU=";
-    aarch64-linux = "sha256-1+rLGnm+LhbYigYUcmuLICLFXUk3wjOkmxuCuuI+Xqc=";
-    x86_64-darwin = "sha256-mJA3VXfNr6578Q2xw0xOZccloQpeCIsjn3dVdlsnTVs=";
-    aarch64-darwin = "sha256-FNl3UefJWA8yJ2B44GUEK6py7DLikJrygIwsqdIjW9c=";
+    x86_64-linux = "sha256-gYHIfvgofT9tKYCchZoRYvioLCtp2wfaOtuVWxTyujM=";
+    aarch64-linux = "sha256-zW+aeUc67pa6mQQkfazShHKAvGeucswLK1eRCxzXOJM=";
+    x86_64-darwin = "sha256-ph+SrrxOIyG9rRS098duhvDFiNGuh0o2uemm++J+zKw=";
+    aarch64-darwin = "sha256-eOpRaivRhk841/TCxC4ygw27UrPkqQCMH2mme2qo8V8=";
   }.${system} or (throw "Unsupported system: ${system}");
 
 in stdenv.mkDerivation rec {
   pname = "fermyon-spin";
-  version = "2.4.2";
+  version = "2.5.1";
 
   # Use fetchurl rather than fetchzip as these tarballs are built by the project
   # and not by GitHub (and thus are stable) - this simplifies the update script
@@ -56,7 +58,7 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "Framework for building, deploying, and running fast, secure, and composable cloud microservices with WebAssembly.";
+    description = "Framework for building, deploying, and running fast, secure, and composable cloud microservices with WebAssembly";
     homepage = "https://github.com/fermyon/spin";
     license = with licenses; [ asl20 ];
     mainProgram = "spin";
diff --git a/pkgs/development/tools/firebase-tools/default.nix b/pkgs/development/tools/firebase-tools/default.nix
index 9c4d32133325b..4218896faf13d 100644
--- a/pkgs/development/tools/firebase-tools/default.nix
+++ b/pkgs/development/tools/firebase-tools/default.nix
@@ -8,16 +8,16 @@
 
 buildNpmPackage rec {
   pname = "firebase-tools";
-  version = "13.7.5";
+  version = "13.11.3";
 
   src = fetchFromGitHub {
     owner = "firebase";
     repo = "firebase-tools";
     rev = "v${version}";
-    hash = "sha256-OPpLqXCxEkKOUB0U2gpvGipvRUcF3fM9yopdwkDMqXk=";
+    hash = "sha256-JgmiWcWGGJOv9P0x/WSlkVhmcNSIX12jKZuZBSHxqkg=";
   };
 
-  npmDepsHash = "sha256-dmySbwBdOJJ65gj1cBlDIS2o2Tnie6tx8cOyt0FoFyw=";
+  npmDepsHash = "sha256-dDIw8R2126HLqhU+8dq7zroJ7YHHiV6s8yTSrmtgURM=";
 
   postPatch = ''
     ln -s npm-shrinkwrap.json package-lock.json
diff --git a/pkgs/development/tools/fission/default.nix b/pkgs/development/tools/fission/default.nix
index b1ac93a81ee9e..04342eb1473cb 100644
--- a/pkgs/development/tools/fission/default.nix
+++ b/pkgs/development/tools/fission/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fission";
-  version = "1.20.1";
+  version = "1.20.2";
 
   src = fetchFromGitHub {
     owner = "fission";
     repo = "fission";
     rev = "v${version}";
-    hash = "sha256-RT4hBr7qxhhJM1REJFIE9En1Vu3ACvXav242PBYz8IQ=";
+    hash = "sha256-DkSilNn98m7E9qTRpf+g2cmo3SHeJkW4eJ5T6XQM3S8=";
   };
 
-  vendorHash = "sha256-hZmQxG4cw1Len3ZyGhWVTXB8N9fDRkgNDyF18/8dKuo=";
+  vendorHash = "sha256-IChr8jC21yI5zOkHF2v9lQoqXT95FSMXJdWj7HqikB4=";
 
   ldflags = [ "-s" "-w" "-X info.Version=${version}" ];
 
@@ -22,7 +22,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "The cli used by end user to interact Fission";
+    description = "Cli used by end user to interact Fission";
     homepage = "https://fission.io";
     license = licenses.asl20;
     maintainers = with maintainers; [ neverbehave ];
diff --git a/pkgs/development/tools/flamegraph/default.nix b/pkgs/development/tools/flamegraph/default.nix
index 3a64d741de5c4..d80354b68c7ab 100644
--- a/pkgs/development/tools/flamegraph/default.nix
+++ b/pkgs/development/tools/flamegraph/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "FlameGraph";
-  version = "2019-02-16";
+  version = "2023-11-06";
 
   src = fetchFromGitHub {
     owner = "brendangregg";
     repo = pname;
-    rev = "1b1c6deede9c33c5134c920bdb7a44cc5528e9a7";
-    sha256 = "1flvkmv2gbb003d51myl7r0wyhyw1bk9p7v19xagb8xjj4ci947b";
+    rev = "a96184c6939f8c6281fcd7285b54fba80555ac74";
+    sha256 = "sha256-hvp1HxmgNbe85kxe0NyolFUd+kPPBDYAt+g2K8pE1Ak=";
   };
 
   buildInputs = [ perl ];
@@ -24,10 +24,18 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  doCheck = true;
+
+  checkPhase = ''
+    patchShebangs ./test.sh
+    ./test.sh
+  '';
+
   meta = with lib; {
     license = with licenses; [ asl20 cddl gpl2Plus ];
     homepage = "http://www.brendangregg.com/flamegraphs.html";
     description = "Visualization for profiled code";
+    mainProgram = "flamegraph.pl";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/flootty/default.nix b/pkgs/development/tools/flootty/default.nix
index 9440b0b619462..2c090556b7600 100644
--- a/pkgs/development/tools/flootty/default.nix
+++ b/pkgs/development/tools/flootty/default.nix
@@ -10,7 +10,7 @@ python3Packages.buildPythonApplication rec {
   };
 
   meta = with lib; {
-    description = "A collaborative terminal. In practice, it's similar to a shared screen or tmux session";
+    description = "Collaborative terminal. In practice, it's similar to a shared screen or tmux session";
     mainProgram = "flootty";
     homepage = "https://floobits.com/help/flootty";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/fnm/default.nix b/pkgs/development/tools/fnm/default.nix
index 75bde74896783..7b521856a3e8b 100644
--- a/pkgs/development/tools/fnm/default.nix
+++ b/pkgs/development/tools/fnm/default.nix
@@ -10,20 +10,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fnm";
-  version = "1.35.1";
+  version = "1.37.1";
 
   src = fetchFromGitHub {
     owner = "Schniz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qRnxXh3m/peMNAR/EV+lkwDI+Z6komF8GGFyF5UDOFg=";
+    sha256 = "sha256-x6w2g7U/FbJBycMAF4PUyaoIazp/w6imIpy+N7Cf0qk=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ DiskArbitration Foundation Security ];
 
-  cargoHash = "sha256-//DCxAC8Jf7g8SkG4NfwkM0NyWUdASuw1g4COFIY0mU=";
+  cargoHash = "sha256-b15m5DjTDNWJBHOaKSEMwkO/o+0mV+JMBDBurml7xOs=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/fprettify/default.nix b/pkgs/development/tools/fprettify/default.nix
index b2c37f163b26e..1a424c5f57c1e 100644
--- a/pkgs/development/tools/fprettify/default.nix
+++ b/pkgs/development/tools/fprettify/default.nix
@@ -20,7 +20,7 @@ python3Packages.buildPythonApplication rec {
   ];
 
   meta = with lib; {
-    description = "An auto-formatter for modern Fortran code that imposes strict whitespace formatting, written in Python.";
+    description = "Auto-formatter for modern Fortran code that imposes strict whitespace formatting, written in Python";
     mainProgram = "fprettify";
     homepage = "https://pypi.org/project/fprettify/";
     license = with licenses; [ gpl3Only ];
diff --git a/pkgs/development/tools/frink/default.nix b/pkgs/development/tools/frink/default.nix
index dc902783c59c6..818a70bfe2a02 100644
--- a/pkgs/development/tools/frink/default.nix
+++ b/pkgs/development/tools/frink/default.nix
@@ -1,46 +1,50 @@
-{ fetchurl
-, frink
-, jdk
-, lib
-, rlwrap
-, stdenv
-, testers
+{
+  fetchurl,
+  frink,
+  jdk,
+  lib,
+  rlwrap,
+  stdenv,
+  testers,
 }:
 stdenv.mkDerivation rec {
   pname = "frink";
-  version = "2023-07-31";
+  version = "2024-05-09";
 
   src = fetchurl {
     # Upstream does not provide versioned download links
-    url = "https://web.archive.org/web/20230806114836/https://frinklang.org/frinkjar/frink.jar";
-    sha256 = "sha256-u44g/pM4ie3NcBh6MZpN8+oWZLYz0LN5ozetee1iXNk=";
+    url = "https://web.archive.org/web/20240605193919/https://frinklang.org/frinkjar/frink-tng.jar";
+    sha256 = "sha256-ceV1p9wsXprcNLhol79evswVZ1SpH5IzfSbl8st4cmU=";
   };
 
   dontUnpack = true;
 
   nativeBuildInputs = [ jdk ];
 
-  buildInputs = [ jdk rlwrap ];
+  buildInputs = [
+    jdk
+    rlwrap
+  ];
 
   installPhase = ''
     runHook preInstall
 
     mkdir -p $out/bin $out/lib
 
-    cp ${src} $out/lib/frink.jar
+    cp ${src} $out/lib/frink-tng.jar
 
     # Generate rlwrap helper files.
     # See https://frinklang.org/fsp/colorize.fsp?f=listUnits.frink
     # and https://frinklang.org/fsp/colorize.fsp?f=listFunctions.frink
-    java -classpath "$out/lib/frink.jar" frink.gui.FrinkStarter -e 'joinln[lexicalSort[units[]]]' > $out/lib/unitnames.txt
-    java -classpath "$out/lib/frink.jar" frink.gui.FrinkStarter -e 'joinln[map[{|f|
+    java -classpath "$out/lib/frink-tng.jar" frink.gui.FrinkStarter -e 'joinln[lexicalSort[units[]]]' > $out/lib/unitnames.txt
+    java -classpath "$out/lib/frink-tng.jar" frink.gui.FrinkStarter -e 'joinln[map[{|f|
         f =~ %s/\s+//g
         return "$f$"
       }, lexicalSort[functions[]]]]' > $out/lib/functionnames.txt
 
     cat > "$out/bin/frink" << EOF
     #!${stdenv.shell}
-    exec ${rlwrap}/bin/rlwrap -f $out/lib/unitnames.txt -b '$' -f $out/lib/functionnames.txt ${jdk}/bin/java -classpath "$out/lib/frink.jar" frink.gui.FrinkStarter "\$@"
+    exec ${rlwrap}/bin/rlwrap -f $out/lib/unitnames.txt -b '$' -f $out/lib/functionnames.txt ${jdk}/bin/java -classpath "$out/lib/frink-tng.jar" frink.gui.FrinkStarter "\$@"
     EOF
 
     chmod a+x "$out/bin/frink"
@@ -49,7 +53,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A practical calculating tool and programming language";
+    description = "Practical calculating tool and programming language";
     homepage = "https://frinklang.org/";
     license = licenses.unfree;
     sourceProvenance = [ sourceTypes.binaryBytecode ];
diff --git a/pkgs/development/tools/fsautocomplete/default.nix b/pkgs/development/tools/fsautocomplete/default.nix
index ac47bdfc20739..b4b381c369d86 100644
--- a/pkgs/development/tools/fsautocomplete/default.nix
+++ b/pkgs/development/tools/fsautocomplete/default.nix
@@ -2,13 +2,13 @@
 
 buildDotnetModule rec {
   pname = "fsautocomplete";
-  version = "0.71.0";
+  version = "0.73.2";
 
   src = fetchFromGitHub {
     owner = "fsharp";
     repo = "FsAutoComplete";
     rev = "v${version}";
-    hash = "sha256-WajKmRDCMJ74qT2/NhUWRq+bytxt49vi98bm1QleEKo=";
+    hash = "sha256-iiV/Tw3gOteARrOEbLjPA/jGawoxJVBZg6GvF9p9HHA=";
   };
 
   nugetDeps = ./deps.nix;
@@ -20,8 +20,8 @@ buildDotnetModule rec {
       --replace TargetFrameworks TargetFramework \
   '';
 
-  dotnet-sdk = with dotnetCorePackages; combinePackages [ sdk_6_0 sdk_7_0 ];
-  dotnet-runtime = dotnetCorePackages.sdk_7_0;
+  dotnet-sdk = with dotnetCorePackages; combinePackages [ sdk_6_0 sdk_7_0 sdk_8_0_2xx ];
+  dotnet-runtime = dotnetCorePackages.sdk_8_0_2xx;
 
   projectFile = "src/FsAutoComplete/FsAutoComplete.fsproj";
   executables = [ "fsautocomplete" ];
@@ -29,7 +29,7 @@ buildDotnetModule rec {
   useDotnetFromEnv = true;
 
   meta = with lib; {
-    description = "The FsAutoComplete project (FSAC) provides a backend service for rich editing or intellisense features for editors.";
+    description = "FsAutoComplete project (FSAC) provides a backend service for rich editing or intellisense features for editors";
     mainProgram = "fsautocomplete";
     homepage = "https://github.com/fsharp/FsAutoComplete";
     changelog = "https://github.com/fsharp/FsAutoComplete/releases/tag/v${version}";
diff --git a/pkgs/development/tools/fsautocomplete/deps.nix b/pkgs/development/tools/fsautocomplete/deps.nix
index 192562146056a..8dea1747aa97e 100644
--- a/pkgs/development/tools/fsautocomplete/deps.nix
+++ b/pkgs/development/tools/fsautocomplete/deps.nix
@@ -14,30 +14,16 @@
   (fetchNuGet { pname = "DotNet.ReproducibleBuilds"; version = "1.1.1"; sha256 = "0wa0xwbwv1lzjmqwg1vq06vrpb9kkbv3xw5nq50savj0dzhqakzq"; })
   (fetchNuGet { pname = "Expecto"; version = "10.1.0"; sha256 = "127yy5i0p2lybhm5xcy2wa6j1rcahk61mb1nbym687b23pgizrq9"; })
   (fetchNuGet { pname = "Expecto.Diff"; version = "9.0.4"; sha256 = "06g6nbr5kdr7hyayh24ry6xfghxpcfkqc8kma5qa5lcvhmy56f7j"; })
-  (fetchNuGet { pname = "Fake.Core.CommandLineParsing"; version = "6.0.0"; sha256 = "153m18jzji0rar0k1dqj1h90pfny00jyzbmp6vvlc9dcl89xfgvg"; })
-  (fetchNuGet { pname = "Fake.Core.Context"; version = "6.0.0"; sha256 = "1pqgc1zq50icw5j375wy9n7749r2rfqakajmdilyaxzczcxs4m2h"; })
-  (fetchNuGet { pname = "Fake.Core.Environment"; version = "6.0.0"; sha256 = "1r509s23djb1m62q0hmdgksrx975ksdanhzxzagh3xhmla49icni"; })
-  (fetchNuGet { pname = "Fake.Core.FakeVar"; version = "6.0.0"; sha256 = "0rmq31p6p5837q79nff6fmnwrnq4jkfmbq0sp639nzrcw72p9wql"; })
-  (fetchNuGet { pname = "Fake.Core.Process"; version = "6.0.0"; sha256 = "15zwgk6b1nk6a515n46x2cjj61hg9h4zq65z98v8amhasdml7vj1"; })
-  (fetchNuGet { pname = "Fake.Core.SemVer"; version = "6.0.0"; sha256 = "0j0w1wbg6zv84qn888ygh96saqpsbml7f3r5a9sfryvglxpzm6s3"; })
-  (fetchNuGet { pname = "Fake.Core.String"; version = "6.0.0"; sha256 = "05gyzydzvi9dnyzi7yrw9dy8bszikf3y3ayy7sg2zvwcskw65sma"; })
-  (fetchNuGet { pname = "Fake.Core.Target"; version = "6.0.0"; sha256 = "0wrf6vfp5yrm2hijdyb4nn9s4ac460m9kmqfnncrbqwdsg4yggpq"; })
-  (fetchNuGet { pname = "Fake.Core.Trace"; version = "6.0.0"; sha256 = "0v2m641d8ic04j9i8wrskqa85gpdaxcldg2d4ck4f0fpgb3py205"; })
-  (fetchNuGet { pname = "Fake.IO.FileSystem"; version = "6.0.0"; sha256 = "0kjj9ippsbi138kjipl34cx9pajmj71d205y9h5pmj7djilcvq47"; })
-  (fetchNuGet { pname = "Fake.Tools.Git"; version = "6.0.0"; sha256 = "18qj5r769r70bygn2si0d5xb921jxfdw6mg4v75i2fj79581bbcz"; })
-  (fetchNuGet { pname = "fantomas"; version = "6.2.3"; sha256 = "1x91w4sk402b6ah1y0r0c9rxwbbnjp4x4mr7x4n5zvjhiv97b282"; })
+  (fetchNuGet { pname = "fantomas"; version = "6.3.1"; sha256 = "0kkhdwcw0l7pa1hjil2hjpizjbp618ig32wgni5sfaqmxkc9iywq"; })
   (fetchNuGet { pname = "Fantomas.Client"; version = "0.9.0"; sha256 = "1zixwk61fyk7y9q6f8266kwxi6byr8fmyp1lf57qhbbvhq2waj9d"; })
-  (fetchNuGet { pname = "Fantomas.Core"; version = "6.2.0"; sha256 = "07yl2hr06zk1nl66scm24di3nf1zbrnd6329prwirnv370rz4q92"; })
-  (fetchNuGet { pname = "Fantomas.FCS"; version = "6.2.0"; sha256 = "1hhsa7hbxsm2d8ap4sqzwlzjmf4wsgg74i731rprr0nshjvd8ic7"; })
   (fetchNuGet { pname = "FParsec"; version = "1.1.1"; sha256 = "01s3zrxl9kfx0264wy0m555pfx0s0z165n4fvpgx63jlqwbd8m04"; })
-  (fetchNuGet { pname = "fsharp-analyzers"; version = "0.23.0"; sha256 = "115dqscxx02dss9s1shl6c1x6zc2dgrk9w8bj48cyjnwm79icqq9"; })
+  (fetchNuGet { pname = "fsharp-analyzers"; version = "0.26.0"; sha256 = "0xgv5kvbwfdvcp6s8x7xagbbi4s3mqa4ixni6pazqvyflbgnah7b"; })
   (fetchNuGet { pname = "FSharp.Analyzers.Build"; version = "0.3.0"; sha256 = "1c9ijc9lvyw4lfnd3m9260c8lwnh6ca91zslr29dpn525z9zgdif"; })
-  (fetchNuGet { pname = "FSharp.Analyzers.SDK"; version = "0.25.0"; sha256 = "13s2bhizbl2ss9944wk3cka1ri22rs7aqhiiz2i9lyaj9jz863cy"; })
-  (fetchNuGet { pname = "FSharp.Compiler.Service"; version = "43.8.200"; sha256 = "1jcp8by02n7vbs11p0gxmb42837l7q841f71ifmrqw7chmg14zik"; })
+  (fetchNuGet { pname = "FSharp.Analyzers.SDK"; version = "0.26.0"; sha256 = "0kvqjm8qk8g8iv1f3jv5ac5jj9y1d4mwsia2zydj5lcdczg3g3p1"; })
+  (fetchNuGet { pname = "FSharp.Compiler.Service"; version = "43.8.300"; sha256 = "0qhs4zg0yxy3b82jvm2m41b9fd8ybfbf7bcdn7097sdly0nd9ywb"; })
   (fetchNuGet { pname = "FSharp.Control.AsyncSeq"; version = "3.2.1"; sha256 = "02c8d8snd529rrcj6lsmab3wdq2sjh90j8sanx50ck9acfn9jd3v"; })
   (fetchNuGet { pname = "FSharp.Control.Reactive"; version = "5.0.5"; sha256 = "0ahvd3s5wfv610ks3b00ya5r71cqm34ap8ywx0pyrzhlsbk1ybqg"; })
-  (fetchNuGet { pname = "FSharp.Core"; version = "6.0.5"; sha256 = "07929km96znf6xnqzmxdk3h48kz2rg9msf4c5xxmnjqr0ikfb8c6"; })
-  (fetchNuGet { pname = "FSharp.Core"; version = "8.0.200"; sha256 = "1v0w8n02wshggymckvy9l343yiznjfmif9nfd35f9a32s5wj4dn2"; })
+  (fetchNuGet { pname = "FSharp.Core"; version = "8.0.300"; sha256 = "158xxr9hnhz2ibyzzp2d249angvxfc58ifflm4g3hz8qx9zxaq04"; })
   (fetchNuGet { pname = "FSharp.Data.Adaptive"; version = "1.2.13"; sha256 = "16l1h718h110yl2q83hzy1rpalyqlicdaxln7g0bf8kzq9b2v6rz"; })
   (fetchNuGet { pname = "FSharp.Formatting"; version = "14.0.1"; sha256 = "0sx4jlxzmrdcmc937arc9v0r90qkpf2gd1m9ngkpg88qvqcx4xsa"; })
   (fetchNuGet { pname = "FSharp.UMX"; version = "1.1.0"; sha256 = "1rzf5m38fcpphfhcv359plk2sval16kj00gdfwzpm9gi8wjw8j8k"; })
@@ -55,15 +41,15 @@
   (fetchNuGet { pname = "Grpc.Net.Common"; version = "2.51.0"; sha256 = "1b7iwf5qk4c449mi5lsnf6j99pwwrj79y8zkinzf5j2rslc97r0z"; })
   (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; sha256 = "1ai7hgr0qwd7xlqfd92immddyi41j3ag91h3594yzfsgsy6yhyqi"; })
   (fetchNuGet { pname = "Iced"; version = "1.17.0"; sha256 = "1999xavgpy2h83rh4indiq5mx5l509swqdi1raxj3ab6zvk49zpb"; })
-  (fetchNuGet { pname = "IcedTasks"; version = "0.9.2"; sha256 = "1i4sg398qvxyrprca9jssn4lccwn67zndbg1a3a37cmsms5rlbvj"; })
+  (fetchNuGet { pname = "IcedTasks"; version = "0.11.5"; sha256 = "0l7wzns5dg5jq8ppzvi13cr7nh1kjc0qyj80npy8lr3x86hiz51q"; })
   (fetchNuGet { pname = "ICSharpCode.Decompiler"; version = "7.2.1.6856"; sha256 = "19z68rgzl93lh1h8anbgzw119mhvcgr9nh5q2nxk6qihl2mx97ba"; })
-  (fetchNuGet { pname = "Ionide.Analyzers"; version = "0.7.0"; sha256 = "10s4wznblcdazrvghf64y59j1w4bvwar8iznjl0rncbka09ba4q5"; })
+  (fetchNuGet { pname = "Ionide.Analyzers"; version = "0.11.0"; sha256 = "1wsx7gbr4macmim5z1iz9clgq9xfmg423snb589bvaiyg5k6ha00"; })
   (fetchNuGet { pname = "Ionide.KeepAChangelog.Tasks"; version = "0.1.8"; sha256 = "066zla2rp1sal6by3h3sg6ibpkk52kbhn30bzk58l6ym7q1kqa6b"; })
-  (fetchNuGet { pname = "Ionide.LanguageServerProtocol"; version = "0.4.20"; sha256 = "08ym8lljnkqk638f2djw3c0p6h0nzxycifz1dqhzzd2my5ss46zf"; })
-  (fetchNuGet { pname = "Ionide.ProjInfo"; version = "0.63.0"; sha256 = "1nvnckzr6bnzv5zlw7n8f8hv1a0vl31pv0jw2b0zd72qz1bs1dm4"; })
-  (fetchNuGet { pname = "Ionide.ProjInfo.FCS"; version = "0.63.0"; sha256 = "1viccl54v4ls8mhw4lpmblbyw47sblpzq8fscff06lqngbbqk6pr"; })
-  (fetchNuGet { pname = "Ionide.ProjInfo.ProjectSystem"; version = "0.63.0"; sha256 = "1pr95x6hfahcwqgkjnm7zaf43qyw7j9fwbqxvly9wpnz5drnk6yv"; })
-  (fetchNuGet { pname = "Ionide.ProjInfo.Sln"; version = "0.63.0"; sha256 = "1wpq3fm52zn7c57pkywadgcfrn072q50nnqvvnr41n6r7qj665gi"; })
+  (fetchNuGet { pname = "Ionide.LanguageServerProtocol"; version = "0.6.0"; sha256 = "15wjmm91qdvhdpjjggqqsqgwlsi0wwsdzqarvdx9l1h2681hq9g0"; })
+  (fetchNuGet { pname = "Ionide.ProjInfo"; version = "0.65.0"; sha256 = "0aka78yaj7h3apbr9ia7rdikr2hhyizl1xakks90h47nax00kscz"; })
+  (fetchNuGet { pname = "Ionide.ProjInfo.FCS"; version = "0.65.0"; sha256 = "0kjrn6r6nwd5m5wlb8jpyzaicjcw64dg7w7vqndrwv7nw0wd4di0"; })
+  (fetchNuGet { pname = "Ionide.ProjInfo.ProjectSystem"; version = "0.65.0"; sha256 = "15080y3f0zqvdzi6ks9v6jhih5xsrgi08ji5zym88qvmp81g1m8q"; })
+  (fetchNuGet { pname = "Ionide.ProjInfo.Sln"; version = "0.65.0"; sha256 = "1f2xys28vjx22wgjnlk2jy4zsy7hkjvw692r2pqmki6fb5a5pjql"; })
   (fetchNuGet { pname = "LinkDotNet.StringBuilder"; version = "1.18.0"; sha256 = "0lgh4yjnim9qbqkmkgpx5fi2lha1cgcdbddvbsiw9jzp18fndxly"; })
   (fetchNuGet { pname = "McMaster.NETCore.Plugins"; version = "1.4.0"; sha256 = "1k2qz0qnf2b1kfwbzcynivy93jm7dcwl866d0fl7qlgq5vql7niy"; })
   (fetchNuGet { pname = "MessagePack"; version = "2.5.108"; sha256 = "0cnaz28lhrdmavnxjkakl9q8p2yv8mricvp1b0wxdfnz8v41gwzs"; })
@@ -96,7 +82,7 @@
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "6.0.0"; sha256 = "15hb2rbzgri1fq8wpj4ll7czm3rxqzszs02phnhjnncp90m5rmpc"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.1"; sha256 = "0kl5ypidmzllyxb91gwy3z950dc416p1y8wikzbdbp0l7aaaxq2p"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0"; sha256 = "1vi67fw7q99gj7jd64gnnfr4d2c0ijpva7g9prps48ja6g91x6a9"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "6.0.0"; sha256 = "08c4fh1n8vsish1vh7h73mva34g0as4ph29s4lvps7kmjb4z64nl"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "5.0.0"; sha256 = "1mma1zxi0b40972cwfvkj9y0w9r7vjbi74784jzcb22pric00k5x"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "6.0.0"; sha256 = "0fd9jii3y3irfcwlsiww1y9npjgabzarh33rn566wpcz24lijszi"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "6.0.2"; sha256 = "1wv54f3p3r2zj1pr9a6z8zqrh2ihm6v6qcw2pjwis1lcc0qb472m"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "6.0.0"; sha256 = "0plx785hk61arjxf0m3ywy9hl5nii25raj4523n3ql7mmv6hxqr1"; })
@@ -106,9 +92,7 @@
   (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.4.0"; sha256 = "1smx30nq22plrn2mw4wb5vfgxk6hyx12b60c4wabmpnr81lq3nzv"; })
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.4.1"; sha256 = "02p1j9fncd4fb2hyp51kw49d0dz30vvazhzk24c9f5ccc00ijpra"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.1"; sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "7.0.4"; sha256 = "0afmivk3m0hmwsiqnl87frzi7g57aiv5fwnjds0icl66djpb6zsm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.3"; sha256 = "05smkcyxir59rgrmp7d6327vvrlacdgldfxhmyr1azclvga1zfsq"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "5.0.0"; sha256 = "0z3qyv7qal5irvabc8lmkh58zsl42mrzd1i0sssvzhv4q4kl3cg6"; })
   (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.3"; sha256 = "0hc4d4d4358g5192mf8faijwk0bpf9pjwcfd3h85sr67j0zhj6hl"; })
   (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net461"; version = "1.0.3"; sha256 = "1jcc552rwpaybd2ql0b31063ayj70sd3k6qqpf850xmqbyg2hlmx"; })
   (fetchNuGet { pname = "Microsoft.SourceLink.AzureRepos.Git"; version = "1.1.1"; sha256 = "059c8i2vybprn63sw2jr7xma4yyl2syx6hzygfdpr0zd5jlgy9rz"; })
@@ -130,7 +114,8 @@
   (fetchNuGet { pname = "OpenTelemetry"; version = "1.3.2"; sha256 = "1v9ipc75ipwjhhz4mkyjygw85i6ba5flcbhyspmf90vfi2nk7b79"; })
   (fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.3.2"; sha256 = "0fgl99k6nm3n47vv9mx6y36pnljj2b5g641cs2zsw6l86n57qwv1"; })
   (fetchNuGet { pname = "OpenTelemetry.Exporter.OpenTelemetryProtocol"; version = "1.3.2"; sha256 = "14p6rn68mqrch3ani17vwyl4ggjz680nxkw1nf65xmf1ljlkb4iq"; })
-  (fetchNuGet { pname = "Paket"; version = "8.0.0-alpha002"; sha256 = "1c2kdndyb04plgwvqp78224zwk26dkicjy94pqh7shc9ifskrvsb"; })
+  (fetchNuGet { pname = "OpenTelemetry.Instrumentation.Runtime"; version = "1.0.0"; sha256 = "02s1g7nizf9dglfgff2fcncigbyplfbwhif7naj1wh7gx5dnig1l"; })
+  (fetchNuGet { pname = "Paket"; version = "8.0.3"; sha256 = "12xm100rg82p5fvkn63mmjc8i38q8yvk5327snwzqijlfh3k60n0"; })
   (fetchNuGet { pname = "Perfolizer"; version = "0.2.1"; sha256 = "012aqqi3y3nfikqmn26yajpwd52c04zlzp0p91iyslw7mf26qncy"; })
   (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; })
   (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; })
@@ -224,5 +209,6 @@
   (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "7.0.0"; sha256 = "0ham9l8xrmlq2qwin53n82iz1wanci2h695i3cq83jcw4n28qdr9"; })
   (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
   (fetchNuGet { pname = "System.Windows.Extensions"; version = "7.0.0"; sha256 = "11r9f0v7qp365bdpq5ax023yra4qvygljz18dlqs650d44iay669"; })
+  (fetchNuGet { pname = "telplin"; version = "0.9.6"; sha256 = "0wlg6nsy4icf7k0vm32m0466hz5bs97fhx2czfqr0alx14z8n64h"; })
   (fetchNuGet { pname = "YoloDev.Expecto.TestSdk"; version = "0.14.2"; sha256 = "1877gr3f8wl1x3njhgss9psxm21xpqv6cpg625f2mvvak79fzrra"; })
 ]
diff --git a/pkgs/development/tools/fusee-nano/default.nix b/pkgs/development/tools/fusee-nano/default.nix
index 67706b726f977..fc06232770741 100644
--- a/pkgs/development/tools/fusee-nano/default.nix
+++ b/pkgs/development/tools/fusee-nano/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   makeFlags = [ "PREFIX=$(out)/bin" ];
 
   meta = {
-    description = "A minimalist re-implementation of the Fusée Gelée exploit";
+    description = "Minimalist re-implementation of the Fusée Gelée exploit";
     mainProgram = "fusee-nano";
     homepage = "https://github.com/DavidBuchanan314/fusee-nano";
     license = lib.licenses.mit;
diff --git a/pkgs/development/tools/gammaray/default.nix b/pkgs/development/tools/gammaray/default.nix
index 3b9f578064776..f2f24bcf2e6a9 100644
--- a/pkgs/development/tools/gammaray/default.nix
+++ b/pkgs/development/tools/gammaray/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A software introspection tool for Qt applications developed by KDAB";
+    description = "Software introspection tool for Qt applications developed by KDAB";
     homepage = "https://github.com/KDAB/GammaRay";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/gauge/default.nix b/pkgs/development/tools/gauge/default.nix
index 9c9c53c390737..456e5f8ad7212 100644
--- a/pkgs/development/tools/gauge/default.nix
+++ b/pkgs/development/tools/gauge/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "gauge";
-  version = "1.6.6";
+  version = "1.6.7";
 
   patches = [
     # adds a check which adds an error message when trying to
@@ -14,10 +14,10 @@ buildGoModule rec {
     owner = "getgauge";
     repo = "gauge";
     rev = "v${version}";
-    hash = "sha256-u64LEDWktnBqGmey1TGdpVerjBsgyyRKJKeAJU3ysZs=";
+    hash = "sha256-+6b34nCuoBGd9v9eoAgthxYboGWDM8rCU56VXpVKdQc=";
   };
 
-  vendorHash = "sha256-RC3oS4nD291p8BSiWZUmsej/XuadaR7Xz1+bEfZL3Oc=";
+  vendorHash = "sha256-VVHsldLfLrdufSBLbgSlniYK1+64651DL8gzw5VHans=";
 
   excludedPackages = [ "build" "man" ];
 
diff --git a/pkgs/development/tools/gdtoolkit/default.nix b/pkgs/development/tools/gdtoolkit/default.nix
deleted file mode 100644
index ea5e5ec8de9ae..0000000000000
--- a/pkgs/development/tools/gdtoolkit/default.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-{ lib
-, python3
-, fetchFromGitHub
-, godot3-server
-}:
-
-let
-  python = python3.override {
-    packageOverrides = self: super: {
-      lark = super.lark.overridePythonAttrs (old: rec {
-        # gdtoolkit needs exactly this lark version
-        version = "0.8.0";
-        src = fetchFromGitHub {
-          owner = "lark-parser";
-          repo = "lark";
-          rev = version;
-          hash = "sha256-KN9buVlH8hJ8t0ZP5yefeYM5vH5Gg7a7TEDGKJYpozs=";
-          fetchSubmodules = true;
-        };
-        patches = [ ];
-      });
-    };
-  };
-in
-python.pkgs.buildPythonApplication rec {
-  pname = "gdtoolkit";
-  version = "3.3.1";
-
-  # If we try to get using fetchPypi it requires GeoIP (but the package dont has that dep!?)
-  src = fetchFromGitHub {
-    owner = "Scony";
-    repo = "godot-gdscript-toolkit";
-    rev = version;
-    sha256 = "13nnpwy550jf5qnm9ixpxl1bwfnhhbiys8vqfd25g3aim4bm3gnn";
-  };
-
-  disabled = python.pythonOlder "3.7";
-
-  propagatedBuildInputs = with python.pkgs; [
-    docopt
-    lark
-    pyyaml
-    setuptools
-  ];
-
-  doCheck = true;
-
-  nativeCheckInputs = with python.pkgs; [
-    pytestCheckHook
-    hypothesis
-    godot3-server
-  ];
-
-  preCheck =
-    let
-      godotServerMajorVersion = lib.versions.major godot3-server.version;
-      gdtoolkitMajorVersion = lib.versions.major version;
-      msg = ''
-        gdtoolkit major version ${gdtoolkitMajorVersion} does not match godot-server major version ${godotServerMajorVersion}!
-        gdtoolkit needs a matching godot-server for its tests.
-        If you see this error, you can either:
-         - disable doCheck for gdtoolkit, or
-         - provide a compatible godot-server version to gdtoolkit"
-      '';
-    in lib.throwIf (godotServerMajorVersion != gdtoolkitMajorVersion) msg ''
-      # The tests want to run the installed executables
-      export PATH=$out/bin:$PATH
-
-      # gdtoolkit tries to write cache variables to $HOME/.cache
-      export HOME=$TMP
-
-      # Work around https://github.com/godotengine/godot/issues/20503
-      # Without this, Godot will complain about a missing project file
-      touch project.godot
-
-      # Remove broken test case
-      # (hard to skip via disabledTests since the test name contains an absolute path)
-      rm tests/potential-godot-bugs/multiline-subscription-expression.gd
-    '';
-
-  pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ];
-
-  meta = with lib; {
-    description = "Independent set of tools for working with Godot's GDScript - parser, linter and formatter";
-    homepage = "https://github.com/Scony/godot-gdscript-toolkit";
-    license = licenses.mit;
-    maintainers = with maintainers; [ shiryel tmarkus ];
-  };
-}
diff --git a/pkgs/development/tools/gemstash/default.nix b/pkgs/development/tools/gemstash/default.nix
index ce8fde604ab58..8128c4db290af 100644
--- a/pkgs/development/tools/gemstash/default.nix
+++ b/pkgs/development/tools/gemstash/default.nix
@@ -11,7 +11,7 @@ bundlerApp rec {
   };
 
   meta = with lib; {
-    description = "A cache for RubyGems.org and a private gem server";
+    description = "Cache for RubyGems.org and a private gem server";
     homepage    = "https://github.com/rubygems/gemstash";
     license     = licenses.mit;
     maintainers = [ maintainers.viraptor ];
diff --git a/pkgs/development/tools/gendef/default.nix b/pkgs/development/tools/gendef/default.nix
index 431c2a644b121..6f637b01144d5 100644
--- a/pkgs/development/tools/gendef/default.nix
+++ b/pkgs/development/tools/gendef/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: {
   sourceRoot = "${finalAttrs.src.name}/mingw-w64-tools/gendef";
 
   meta = {
-    description = "A tool which generate def files from DLLs";
+    description = "Tool which generate def files from DLLs";
     mainProgram = "gendef";
     homepage = "https://sourceforge.net/p/mingw-w64/wiki2/gendef/";
     license = lib.licenses.gpl3Plus;
diff --git a/pkgs/development/tools/gi-crystal/default.nix b/pkgs/development/tools/gi-crystal/default.nix
index 8b664ee1e00f3..d5c19a21662ab 100644
--- a/pkgs/development/tools/gi-crystal/default.nix
+++ b/pkgs/development/tools/gi-crystal/default.nix
@@ -2,16 +2,17 @@
 , fetchFromGitHub
 , crystal
 , gobject-introspection
+, gitUpdater
 }:
 crystal.buildCrystalPackage rec {
   pname = "gi-crystal";
-  version = "0.21.0";
+  version = "0.22.2";
 
   src = fetchFromGitHub {
     owner = "hugopl";
     repo = "gi-crystal";
     rev = "v${version}";
-    hash = "sha256-hL+4MvJn1z9UKCtyvU4zzIxOwRyYQ3Qt4qRb5F0J+sg=";
+    hash = "sha256-JfBbKqobikpTGMryeO86zZ46EbOHybem+Cc5FZEL6i4=";
   };
 
   # Make sure gi-crystal picks up the name of the so or dylib and not the leading nix store path
@@ -33,8 +34,13 @@ crystal.buildCrystalPackage rec {
     runHook postInstall
   '';
 
+  passthru = {
+    updateScript = gitUpdater { rev-prefix = "v"; };
+  };
+
+
   meta = with lib; {
-    description = "GI Crystal is a binding generator used to generate Crystal bindings for GObject based libraries using GObject Introspection.";
+    description = "GI Crystal is a binding generator used to generate Crystal bindings for GObject based libraries using GObject Introspection";
     homepage = "https://github.com/hugopl/gi-crystal";
     mainProgram = "gi-crystal";
     maintainers = with maintainers; [ sund3RRR ];
diff --git a/pkgs/development/tools/ginkgo/default.nix b/pkgs/development/tools/ginkgo/default.nix
index 60e67e17a86e7..aefcaec12e17a 100644
--- a/pkgs/development/tools/ginkgo/default.nix
+++ b/pkgs/development/tools/ginkgo/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "ginkgo";
-  version = "2.17.2";
+  version = "2.19.0";
 
   src = fetchFromGitHub {
     owner = "onsi";
     repo = "ginkgo";
     rev = "v${version}";
-    sha256 = "sha256-StvESO3kFo+mgiJgx7JvZzBnT62zT3ZxxWVjnVBTLlg=";
+    sha256 = "sha256-+Kh+Pn0oEq/eDXE+vsYrSOqhSoeQoIueb6mVpT2bljc=";
   };
-  vendorHash = "sha256-qLyqG7A4TEsZSF8olXWc2BIYZukQx/xHsnbYTfC/w4A=";
+  vendorHash = "sha256-ccqhuUL99dtIeiEM4hRdi0479I0cyf8pxSZz0G6Vm+w=";
 
   # integration tests expect more file changes
   # types tests are missing CodeLocation
@@ -26,7 +26,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://onsi.github.io/ginkgo/";
     changelog = "https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md";
-    description = "A Modern Testing Framework for Go";
+    description = "Modern Testing Framework for Go";
     mainProgram = "ginkgo";
     longDescription = ''
       Ginkgo is a testing framework for Go designed to help you write expressive
diff --git a/pkgs/development/tools/git-ps-rs/default.nix b/pkgs/development/tools/git-ps-rs/default.nix
index 6d4a5be75418e..b9e41327237bd 100644
--- a/pkgs/development/tools/git-ps-rs/default.nix
+++ b/pkgs/development/tools/git-ps-rs/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-ps-rs";
-  version = "7.0.0";
+  version = "7.1.1";
 
   src = fetchFromGitHub {
     owner = "uptech";
     repo = "git-ps-rs";
     rev = version;
-    hash = "sha256-HPHFjYfug642NXeNmv50UzsdOAlDR9F/MtgYnzwiZP8=";
+    hash = "sha256-HkiCc/5Xx+1IKMz/vXPXwUp3c8qSjobhQaIJCzq8dqQ=";
   };
 
-  cargoHash = "sha256-mvRcOwCe5NQ+cJ9brnbZ6HLtLn+fnjYzSBQwA3Qn9PU=";
+  cargoHash = "sha256-r4cmnLkW8ocTcTECAbCk3S94T09lOUzHLQIGHv97W54=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/github-copilot-intellij-agent/default.nix b/pkgs/development/tools/github-copilot-intellij-agent/default.nix
index e6cf7744dd381..c919e2de62813 100644
--- a/pkgs/development/tools/github-copilot-intellij-agent/default.nix
+++ b/pkgs/development/tools/github-copilot-intellij-agent/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
   dontStrip = true;
 
   meta = rec {
-    description = "The GitHub copilot IntelliJ plugin's native component";
+    description = "GitHub copilot IntelliJ plugin's native component";
     longDescription = ''
       The GitHub copilot IntelliJ plugin's native component.
       bin/copilot-agent must be symlinked into the plugin directory, replacing the existing binary.
diff --git a/pkgs/development/tools/github/cligh/default.nix b/pkgs/development/tools/github/cligh/default.nix
index 29976464479b5..5e44bde8cf2dc 100644
--- a/pkgs/development/tools/github/cligh/default.nix
+++ b/pkgs/development/tools/github/cligh/default.nix
@@ -17,7 +17,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "http://the-brannons.com/software/cligh.html";
-    description = "A simple command-line interface to the facilities of Github";
+    description = "Simple command-line interface to the facilities of Github";
     mainProgram = "cligh";
     longDescription = ''
         Cligh is a simple command-line interface to the facilities of GitHub.
diff --git a/pkgs/development/tools/glamoroustoolkit/default.nix b/pkgs/development/tools/glamoroustoolkit/default.nix
index fed9323566de4..05b74f6339bed 100644
--- a/pkgs/development/tools/glamoroustoolkit/default.nix
+++ b/pkgs/development/tools/glamoroustoolkit/default.nix
@@ -98,7 +98,7 @@ preFixup = let
 
   meta = {
     homepage = "https://gtoolkit.com";
-    description = "The GlamorousToolkit Development Environment";
+    description = "GlamorousToolkit Development Environment";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.akgrant43 ];
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/development/tools/glock/default.nix b/pkgs/development/tools/glock/default.nix
deleted file mode 100644
index 503877328973a..0000000000000
--- a/pkgs/development/tools/glock/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
-
-buildGoPackage rec {
-  pname = "glock";
-  version = "20160816-${lib.strings.substring 0 7 rev}";
-  rev = "b8c84ff5ade15a6238ca61c20d3afc70d2e41276";
-
-  goPackagePath = "github.com/robfig/glock";
-
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "robfig";
-    repo = "glock";
-    sha256 = "10jwn3k71p340g8d43zjx7k1j534rcd7rss8pif09mpfrn9qndhh";
-  };
-
-  goDeps = ./deps.nix;
-
-  meta = with lib; {
-    homepage = "https://github.com/robfig/glock";
-    description = "A command-line tool to lock Go dependencies to specific revisions";
-    mainProgram = "glock";
-    license = licenses.mit;
-    maintainers = [ maintainers.rushmorem ];
-  };
-}
diff --git a/pkgs/development/tools/glock/deps.nix b/pkgs/development/tools/glock/deps.nix
deleted file mode 100644
index b7392d757cfc7..0000000000000
--- a/pkgs/development/tools/glock/deps.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was generated by go2nix.
-[
-  {
-    goPackagePath = "github.com/agtorre/gocolorize";
-    fetch = {
-      type = "git";
-      url = "https://github.com/agtorre/gocolorize";
-      rev = "f42b554bf7f006936130c9bb4f971afd2d87f671";
-      sha256 = "1dj7s8bgw9qky344d0k9gz661c0m317a08a590184drw7m51hy9p";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/tools";
-      rev = "f1a397bba50dee815e8c73f3ec94ffc0e8df1a09";
-      sha256 = "1wy8nn2vg70n98g80i1zrk49129phyfbzxbicj748bmf82rnaxzg";
-    };
-  }
-]
diff --git a/pkgs/development/tools/glslviewer/default.nix b/pkgs/development/tools/glslviewer/default.nix
index 4be67a29e3999..fd84492da6aee 100644
--- a/pkgs/development/tools/glslviewer/default.nix
+++ b/pkgs/development/tools/glslviewer/default.nix
@@ -1,60 +1,54 @@
-{ lib, stdenv, fetchFromGitHub, glfw, pkg-config, libXrandr, libXdamage
-, libXext, libXrender, libXinerama, libXcursor, libXxf86vm, libXi
-, libX11, libGLU, python3Packages, ensureNewerSourcesForZipFilesHook
-, Cocoa
+{
+  stdenv,
+  cmake,
+  ninja,
+  lib,
+  fetchFromGitHub,
+  pkg-config,
+  libX11,
+  libXrandr,
+  libXinerama,
+  libXcursor,
+  libXi,
+  libXext,
+  libGLU,
+  ffmpeg,
+  ncurses,
+  Cocoa,
 }:
-
 stdenv.mkDerivation rec {
   pname = "glslviewer";
-  version = "1.6.8";
-
+  version = "3.2.4";
   src = fetchFromGitHub {
     owner = "patriciogonzalezvivo";
     repo = "glslViewer";
+    fetchSubmodules = true;
     rev = version;
-    sha256 = "0v7x93b61ama0gmzlx1zc56jgi7bvzsfvbkfl82xzwf2h5g1zni7";
+    sha256 = "sha256-Ve3wmX5+kABCu8IRe4ySrwsBJm47g1zvMqDbqrpQl88=";
   };
-
-  postPatch = ''
-    sed '1i#include <cstring>' -i src/tools/text.cpp # gcc12
-    sed '8i#include <cstdint>' -i src/io/fs.cpp # gcc13
-  '';
-
-  nativeBuildInputs = [ pkg-config ensureNewerSourcesForZipFilesHook python3Packages.six ];
-  buildInputs = [
-    glfw libGLU glfw libXrandr libXdamage
-    libXext libXrender libXinerama libXcursor libXxf86vm
-    libXi libX11
-  ] ++ (with python3Packages; [ python setuptools wrapPython ])
+  nativeBuildInputs = [cmake ninja pkg-config];
+  buildInputs =
+    [
+      libX11
+      libXrandr
+      libXinerama
+      libXcursor
+      libXi
+      libXext
+      libGLU
+      ncurses
+      ffmpeg
+    ]
     ++ lib.optional stdenv.isDarwin Cocoa;
-  pythonPath = with python3Packages; [ pyyaml requests ];
-
-  # Makefile has /usr/local/bin hard-coded for 'make install'
-  preConfigure = ''
-    substituteInPlace Makefile \
-        --replace '/usr/local' "$out" \
-        --replace '/usr/bin/clang++' 'clang++'
-    substituteInPlace Makefile \
-        --replace 'python setup.py install' "python setup.py install --prefix=$out"
-    2to3 -w bin/*
-  '';
-
-  preInstall = ''
-    mkdir -p $out/bin $(toPythonPath "$out")
-    export PYTHONPATH=$PYTHONPATH:$(toPythonPath "$out")
-  '';
-
-  postInstall = ''
-    wrapPythonPrograms
-  '';
 
   meta = with lib; {
     description = "Live GLSL coding renderer";
     homepage = "https://patriciogonzalezvivo.com/2015/glslViewer/";
     license = licenses.bsd3;
-    platforms = platforms.linux ++ platforms.darwin;
-    maintainers = [ maintainers.hodapp ];
+    maintainers = [maintainers.hodapp];
+    platforms = platforms.unix;
+    mainProgram = "glslViewer";
     # never built on aarch64-darwin since first introduction in nixpkgs
-    broken = stdenv.isDarwin && stdenv.isAarch64;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/tools/go-bindata/default.nix b/pkgs/development/tools/go-bindata/default.nix
index c5d25a7a949e4..3b0bd53e4867d 100644
--- a/pkgs/development/tools/go-bindata/default.nix
+++ b/pkgs/development/tools/go-bindata/default.nix
@@ -20,7 +20,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://github.com/kevinburke/go-bindata";
     changelog = "https://github.com/kevinburke/go-bindata/blob/v${version}/CHANGELOG.md";
-    description = "A small utility which generates Go code from any file, useful for embedding binary data in a Go program";
+    description = "Small utility which generates Go code from any file, useful for embedding binary data in a Go program";
     mainProgram = "go-bindata";
     maintainers = with maintainers; [ ];
     license = licenses.cc0;
diff --git a/pkgs/development/tools/go-containerregistry/default.nix b/pkgs/development/tools/go-containerregistry/default.nix
index ed1db7612411a..9b50f9c67e745 100644
--- a/pkgs/development/tools/go-containerregistry/default.nix
+++ b/pkgs/development/tools/go-containerregistry/default.nix
@@ -4,13 +4,13 @@ let bins = [ "crane" "gcrane" ]; in
 
 buildGoModule rec {
   pname = "go-containerregistry";
-  version = "0.19.1";
+  version = "0.19.2";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mHuxwIyPNUWuP4QmMyLMdRlpwSueyKkk9VezJ4Sv2Nw=";
+    sha256 = "sha256-YxUw30gjpBO/dXSTcNa4F91u3F9pg/IQuVWjKDV5mLs=";
   };
   vendorHash = null;
 
diff --git a/pkgs/development/tools/go-minimock/default.nix b/pkgs/development/tools/go-minimock/default.nix
index 10010fa822237..c3a47019486ab 100644
--- a/pkgs/development/tools/go-minimock/default.nix
+++ b/pkgs/development/tools/go-minimock/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "go-minimock";
-  version = "3.3.7";
+  version = "3.3.13";
 
   src = fetchFromGitHub {
     owner = "gojuno";
     repo = "minimock";
     rev = "v${version}";
-    sha256 = "sha256-jwQT3JmVFS7e6wr+hCFLlA1YhiKdTrMai0RfClJafJQ=";
+    hash = "sha256-YLGZJMBe5wKI9RccJ1ps48A3ZiPWMrzjZH4Fpy8K9yM=";
   };
 
   ldflags = [
     "-s" "-w" "-X main.version=${version}"
   ];
 
-  vendorHash = "sha256-vcYhLMs/skZlhzdeEWUcv28VkRvraavziBwbwrgLZio=";
+  vendorHash = "sha256-O1Bp+zuSq3/UULpej4rXxeHcDiNAhECqj9Yh9aGeA0E=";
 
   doCheck = true;
 
@@ -23,7 +23,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/gojuno/minimock";
-    description = "A golang mock generator from interfaces";
+    description = "Golang mock generator from interfaces";
     license = licenses.mit;
     maintainers = with maintainers; [ svrana ];
     mainProgram = "minimock";
diff --git a/pkgs/development/tools/go-mockery/default.nix b/pkgs/development/tools/go-mockery/default.nix
index 3b86b15aa4ac3..b43c635145cc6 100644
--- a/pkgs/development/tools/go-mockery/default.nix
+++ b/pkgs/development/tools/go-mockery/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "go-mockery";
-  version = "2.43.0";
+  version = "2.43.2";
 
   src = fetchFromGitHub {
     owner = "vektra";
     repo = "mockery";
     rev = "v${version}";
-    sha256 = "sha256-R3J6TZO28x0I6vHjm5X7nMiJBhHuMIYdfp7IUNtu4Do=";
+    sha256 = "sha256-qOiWWyhNNxjaIuFTzhJwog9wPNWa82/JYc0ST6s0OkA=";
   };
 
   preCheck = ''
@@ -61,7 +61,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/vektra/mockery";
-    description = "A mock code autogenerator for Golang";
+    description = "Mock code autogenerator for Golang";
     maintainers = with maintainers; [ fbrs ];
     mainProgram = "mockery";
     license = licenses.bsd3;
diff --git a/pkgs/development/tools/go-mod-graph-chart/default.nix b/pkgs/development/tools/go-mod-graph-chart/default.nix
index 11f7f4c6d9cff..8540e01483945 100644
--- a/pkgs/development/tools/go-mod-graph-chart/default.nix
+++ b/pkgs/development/tools/go-mod-graph-chart/default.nix
@@ -20,7 +20,7 @@ buildGoModule rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A tool build chart by go mod graph output with zero dependencies";
+    description = "Tool build chart by go mod graph output with zero dependencies";
     homepage = "https://github.com/PaulXu-cn/go-mod-graph-chart";
     mainProgram = "gmchart";
     license = licenses.mit;
diff --git a/pkgs/development/tools/go-swagger/default.nix b/pkgs/development/tools/go-swagger/default.nix
index 5a536db51c226..9319bd499758c 100644
--- a/pkgs/development/tools/go-swagger/default.nix
+++ b/pkgs/development/tools/go-swagger/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "go-swagger";
-  version = "0.30.5";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "go-swagger";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-38Ytv/mQVi0xTydFTPNizJIjYPL+lOws6jHsRjxSC4o=";
+    hash = "sha256-PeH9bkRObsw4+ttuWhaPfPQQTOAw8pwlgTEtPoUBiIQ=";
   };
 
-  vendorHash = "sha256-TqoTzxPGF0BBUfLtYWkljRcmr08m4zo5iroWMklxL7U=";
+  vendorHash = "sha256-PBzJMXPZ2gVdrW3ZeerhR1BeT9vWIIS1vCTjz3UFHes=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/go-symbols/default.nix b/pkgs/development/tools/go-symbols/default.nix
deleted file mode 100644
index c6683c067a345..0000000000000
--- a/pkgs/development/tools/go-symbols/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
-
-buildGoPackage rec {
-  pname = "go-symbols";
-  version = "0.1.1";
-
-  goPackagePath = "github.com/acroca/go-symbols";
-  goDeps = ./deps.nix;
-
-  src = fetchFromGitHub {
-    owner = "acroca";
-    repo = "go-symbols";
-    rev = "v${version}";
-    sha256 = "0yyzw6clndb2r5j9isyd727njs98zzp057v314vfvknsm8g7hqrz";
-  };
-
-  meta = {
-    description = "A utility for extracting a JSON representation of the package symbols from a go source tree";
-    mainProgram = "go-symbols";
-    homepage = "https://github.com/acroca/go-symbols";
-    maintainers = with lib.maintainers; [ vdemeester ];
-    license = lib.licenses.mit;
-  };
-}
diff --git a/pkgs/development/tools/go-symbols/deps.nix b/pkgs/development/tools/go-symbols/deps.nix
deleted file mode 100644
index 6a333b58bec6a..0000000000000
--- a/pkgs/development/tools/go-symbols/deps.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-[
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/tools";
-      rev = "96b5a5404f303f074e6117d832a9873c439508f0";
-      sha256 = "1h6r9xyp1v3w2x8d108vzghn65l6ia2h895irypmrwymfcp30y42";
-    };
-  }
-]
diff --git a/pkgs/development/tools/go-task/default.nix b/pkgs/development/tools/go-task/default.nix
index 510acbbdf0455..c744f2ee43186 100644
--- a/pkgs/development/tools/go-task/default.nix
+++ b/pkgs/development/tools/go-task/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.36.0";
+  version = "3.37.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "task";
     rev = "refs/tags/v${version}";
-    hash = "sha256-09dw6bDEKbgajH+/estVYDkbUdUiUUuqXYQqeOBTeQ0=";
+    hash = "sha256-yVQR7D3zpReBlYyuZNMBVs3lgWBR54doMUjRMhfgUJw=";
   };
 
-  vendorHash = "sha256-ahBpIPTHByZ5Qnl6PaOeTLNBq2hQ78+dUmaHvkJxkWg=";
+  vendorHash = "sha256-iugFWBIKt/Rm5ccQnIFR75P1AVZbbFhWN97dvr8DoBs=";
 
   doCheck = false;
 
@@ -45,7 +45,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://taskfile.dev/";
-    description = "A task runner / simpler Make alternative written in Go";
+    description = "Task runner / simpler Make alternative written in Go";
     changelog = "https://github.com/go-task/task/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ parasrah ];
diff --git a/pkgs/development/tools/go-tools/default.nix b/pkgs/development/tools/go-tools/default.nix
index 06a62650b9191..5a94cdf24fe0c 100644
--- a/pkgs/development/tools/go-tools/default.nix
+++ b/pkgs/development/tools/go-tools/default.nix
@@ -21,7 +21,7 @@ buildGoModule rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A collection of tools and libraries for working with Go code, including linters and static analysis";
+    description = "Collection of tools and libraries for working with Go code, including linters and static analysis";
     homepage = "https://staticcheck.io";
     license = licenses.mit;
     maintainers = with maintainers; [ rvolosatovs kalbasit smasher164 ];
diff --git a/pkgs/development/tools/goa/default.nix b/pkgs/development/tools/goa/default.nix
index 79e597f9788e2..646c48f6b4815 100644
--- a/pkgs/development/tools/goa/default.nix
+++ b/pkgs/development/tools/goa/default.nix
@@ -5,15 +5,15 @@
 
 buildGoModule rec {
   pname = "goa";
-  version = "3.16.1";
+  version = "3.16.2";
 
   src = fetchFromGitHub {
     owner = "goadesign";
     repo = "goa";
     rev = "v${version}";
-    hash = "sha256-1j7qgMTb9uz261mI8adY9aM8BkCFQHCCjuc8RIDcqCg=";
+    hash = "sha256-HDGopedI0kI6S7/EqHHyBUJKx25M+0tN/kIBC6Z4NYU=";
   };
-  vendorHash = "sha256-A7FsCfZQKFFrk0KXvgyJjfGjyHQ3Ruoq/+RxC+zSa04=";
+  vendorHash = "sha256-H1hGZsDitamDDO0BNYjkLR4eIL0NFmpQHvMblNVLBho=";
 
   subPackages = [ "cmd/goa" ];
 
diff --git a/pkgs/development/tools/gocode-gomod/default.nix b/pkgs/development/tools/gocode-gomod/default.nix
index cf10eda0d1f42..6d1ef96f77a88 100644
--- a/pkgs/development/tools/gocode-gomod/default.nix
+++ b/pkgs/development/tools/gocode-gomod/default.nix
@@ -25,7 +25,7 @@ buildGoModule rec {
   doCheck = false; # fails on go 1.17
 
   meta = with lib; {
-    description = "An autocompletion daemon for the Go programming language";
+    description = "Autocompletion daemon for the Go programming language";
     mainProgram = "gocode-gomod";
     longDescription = ''
       Gocode is a helper tool which is intended to be integrated with your
diff --git a/pkgs/development/tools/goconvey/default.nix b/pkgs/development/tools/goconvey/default.nix
index 0ec9afb6101c5..6717ff777be6f 100644
--- a/pkgs/development/tools/goconvey/default.nix
+++ b/pkgs/development/tools/goconvey/default.nix
@@ -17,9 +17,9 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
-  preCheck = ''
-    buildFlagsArray+="-short"
-  '';
+  checkFlags = [
+    "-short"
+  ];
 
   meta = {
     description = "Go testing in the browser. Integrates with `go test`. Write behavioral tests in Go";
diff --git a/pkgs/development/tools/gocover-cobertura/default.nix b/pkgs/development/tools/gocover-cobertura/default.nix
index f1d005a47059e..bc8b4e9f0f2b3 100644
--- a/pkgs/development/tools/gocover-cobertura/default.nix
+++ b/pkgs/development/tools/gocover-cobertura/default.nix
@@ -20,7 +20,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/boumenot/gocover-cobertura";
-    description = "This is a simple helper tool for generating XML output in Cobertura format for CIs like Jenkins and others from go tool cover output.";
+    description = "This is a simple helper tool for generating XML output in Cobertura format for CIs like Jenkins and others from go tool cover output";
     mainProgram = "gocover-cobertura";
     license = licenses.mit;
     maintainers = with maintainers; [ hmajid2301 ];
diff --git a/pkgs/development/tools/goda/default.nix b/pkgs/development/tools/goda/default.nix
index 19d363e1ef553..ff8b0cecbc90b 100644
--- a/pkgs/development/tools/goda/default.nix
+++ b/pkgs/development/tools/goda/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "goda";
-  version = "0.5.7";
+  version = "0.5.9";
 
   src = fetchFromGitHub {
     owner = "loov";
     repo = "goda";
     rev = "v${version}";
-    sha256 = "sha256-kilFb/2wXdzn/gXy9mBg0PZH8rd+MFIom4AGAZLgnBo=";
+    hash = "sha256-tkGIo4FWIFFMtp4rP0GJaF7B6lrmtjaAVx45G4wAPQg=";
   };
 
   vendorHash = "sha256-FYjlOYB0L4l6gF8hYtJroV1qMQD0ZmKWXBarjyConRs=";
diff --git a/pkgs/development/tools/godot/3/mono/default.nix b/pkgs/development/tools/godot/3/mono/default.nix
index 22e95fb0e51ad..199965df0cfde 100644
--- a/pkgs/development/tools/godot/3/mono/default.nix
+++ b/pkgs/development/tools/godot/3/mono/default.nix
@@ -21,7 +21,7 @@ godot3.overrideAttrs (self: base: {
   nugetSource =
     mkNugetSource {
       name = "${self.pname}-nuget-source";
-      description = "A Nuget source with dependencies for ${self.pname}";
+      description = "Nuget source with dependencies for ${self.pname}";
       deps = [ self.nugetDeps ];
     };
 
diff --git a/pkgs/development/tools/godot/4/default.nix b/pkgs/development/tools/godot/4/default.nix
index b0db2e0b4f4f1..111cf9e0a187b 100644
--- a/pkgs/development/tools/godot/4/default.nix
+++ b/pkgs/development/tools/godot/4/default.nix
@@ -132,6 +132,8 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "man" ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p "$out/bin"
     cp bin/godot.* $out/bin/godot4
 
@@ -144,6 +146,8 @@ stdenv.mkDerivation rec {
       --replace "Godot Engine" "Godot Engine 4"
     cp icon.svg "$out/share/icons/hicolor/scalable/apps/godot.svg"
     cp icon.png "$out/share/icons/godot.png"
+
+    runHook postInstall
   '';
 
   meta = {
diff --git a/pkgs/development/tools/goimports-reviser/default.nix b/pkgs/development/tools/goimports-reviser/default.nix
index 437b27ce8435b..b7bdf8632164d 100644
--- a/pkgs/development/tools/goimports-reviser/default.nix
+++ b/pkgs/development/tools/goimports-reviser/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "goimports-reviser";
-  version = "3.6.4";
+  version = "3.6.5";
 
   src = fetchFromGitHub {
     owner = "incu6us";
     repo = "goimports-reviser";
     rev = "v${version}";
-    hash = "sha256-+GVC/qJnqWm5tsn2Y5BPafapp7ct9kqHWlDNxukEZsM=";
+    hash = "sha256-46s6A1sGqoJR3XihaCkVCxTpManl330mMcJ8hv66zDc=";
   };
   vendorHash = "sha256-z+FeAXPXKi653im2X2WOP1R9gRl/x7UBnndoEXoxdwA=";
 
diff --git a/pkgs/development/tools/gojq/default.nix b/pkgs/development/tools/gojq/default.nix
index 8d8ad98481bac..8a573665b4b82 100644
--- a/pkgs/development/tools/gojq/default.nix
+++ b/pkgs/development/tools/gojq/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gojq";
-  version = "0.12.15";
+  version = "0.12.16";
 
   src = fetchFromGitHub {
     owner = "itchyny";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-2Og1Ek8Hnzd4KTgJurWtPaqm0W6ruoJ1RN2G+l/5yIY=";
+    hash = "sha256-lCNh0J0vVvSJaNE9fu3X83YRZlWHOI4rQwmrGJDQWzk=";
   };
 
-  vendorHash = "sha256-tZB52w15MpAO3UnrDkhmL1M3EIcm/QwrPy9gvJycuD0=";
+  vendorHash = "sha256-ZC0byawZLBwId5GcAgHXRdEOMUSAv4wDNHFHLrbhB+I=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index e7deb95370000..88194442e8dac 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.57.2";
+  version = "1.59.1";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    hash = "sha256-d3U56fRIyntj/uKTOHuKFvOZqh+6VtzYrbKDjcKzhbI=";
+    hash = "sha256-VFU/qGyKBMYr0wtHXyaMjS5fXKAHWe99wDZuSyH8opg=";
   };
 
-  vendorHash = "sha256-3gS/F1jcjegtkLfmPcBzYqDA4KmwABkKpPAhTxqguYw=";
+  vendorHash = "sha256-yYwYISK1wM/mSlAcDSIwYRo8sRWgw2u+SsvgjH+Z/7M=";
 
   subPackages = [ "cmd/golangci-lint" ];
 
@@ -38,6 +38,6 @@ buildGoModule rec {
     changelog = "https://github.com/golangci/golangci-lint/blob/v${version}/CHANGELOG.md";
     mainProgram = "golangci-lint";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ anpryl manveru mic92 ];
+    maintainers = with maintainers; [ SuperSandro2000 mic92 ];
   };
 }
diff --git a/pkgs/development/tools/golines/default.nix b/pkgs/development/tools/golines/default.nix
index 68ee00ecb638a..da6c887d43bb2 100644
--- a/pkgs/development/tools/golines/default.nix
+++ b/pkgs/development/tools/golines/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
   vendorHash = "sha256-jI3/m1UdZMKrS3H9jPhcVAUCjc1G/ejzHi9SCTy24ak=";
 
   meta = with lib; {
-    description = "A golang formatter that fixes long lines";
+    description = "Golang formatter that fixes long lines";
     homepage = "https://github.com/segmentio/golines";
     license = licenses.mit;
     maintainers = with maintainers; [ meain ];
diff --git a/pkgs/development/tools/gomplate/default.nix b/pkgs/development/tools/gomplate/default.nix
index 9be7b5a87fc7d..c8deb9292d464 100644
--- a/pkgs/development/tools/gomplate/default.nix
+++ b/pkgs/development/tools/gomplate/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gomplate";
-  version = "3.11.7";
+  version = "3.11.8";
 
   src = fetchFromGitHub {
     owner = "hairyhenderson";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-0cYQ44SF8fQ5Ml0tRUbqTFZ+zDVTV6elox1q6tNsG7Q=";
+    hash = "sha256-pE9TLEBY1KQvgMFwVJfn5kojESqZURcbCwRt4jrexhk=";
   };
 
-  vendorHash = "sha256-8siITXKIqDbph/74aBEvkbLVqHE30VyRompFL6z92zA=";
+  vendorHash = "sha256-09QUEudbWnO11iwJafF9zoYqbTr7SVBUiPWTHGnZ06Q=";
 
   postPatch = ''
     # some tests require network access
@@ -38,7 +38,7 @@ buildGoModule rec {
   ];
 
   meta = with lib; {
-    description = "A flexible commandline tool for template rendering";
+    description = "Flexible commandline tool for template rendering";
     mainProgram = "gomplate";
     homepage = "https://gomplate.ca/";
     changelog = "https://github.com/hairyhenderson/gomplate/releases/tag/v${version}";
diff --git a/pkgs/development/tools/goperf/default.nix b/pkgs/development/tools/goperf/default.nix
index ed1a6c1a23b7e..f49859dd0db29 100644
--- a/pkgs/development/tools/goperf/default.nix
+++ b/pkgs/development/tools/goperf/default.nix
@@ -8,22 +8,22 @@
 
 buildGoModule rec {
   pname = "goperf";
-  version = "unstable-2023-11-08";
+  version = "0-unstable-2024-06-04";
 
   src = fetchgit {
     url = "https://go.googlesource.com/perf";
-    rev = "cb71e802ccb878a069712546879bf26489f0f300";
-    hash = "sha256-1NvrelLsy9lrepttXXnggc0oycC6EgJgU80iXDu3IoI=";
+    rev = "3b48cf0e01640b30e676c2d0ffe23b85992be961";
+    hash = "sha256-QOTTBc0pxVU2wf1BJt2GiTs28AuMlrjJ50J47EmQt+U=";
   };
 
-  vendorHash = "sha256-dJQHqIR6v0yYbxplytkdA98IHtdxnsvi9X6kIESCsB8=";
+  vendorHash = "sha256-O1FxOtRcg4zM2X1YcVFBsy1OsRMZXmAT0ZmGWmCn81g=";
 
   passthru.updateScript = writeShellScript "update-goperf" ''
     export UPDATE_NIX_ATTR_PATH=goperf
     ${lib.escapeShellArgs (unstableGitUpdater { inherit (src) url; })}
     set -x
-    oldhash="$(nix-instantiate . --eval --strict -A "goperf.go-modules.drvAttrs.outputHash" | cut -d'"' -f2)"
-    newhash="$(nix-build -A goperf.go-modules --no-out-link 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true)"
+    oldhash="$(nix-instantiate . --eval --strict -A "goperf.goModules.drvAttrs.outputHash" | cut -d'"' -f2)"
+    newhash="$(nix-build -A goperf.goModules --no-out-link 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true)"
     fname="$(nix-instantiate --eval -E 'with import ./. {}; (builtins.unsafeGetAttrPos "version" goperf).file' | cut -d'"' -f2)"
     ${lib.getExe sd} --string-mode "$oldhash" "$newhash" "$fname"
   '';
diff --git a/pkgs/development/tools/gops/default.nix b/pkgs/development/tools/gops/default.nix
index 853be3e71caa2..3c1f5e2ac5ccb 100644
--- a/pkgs/development/tools/gops/default.nix
+++ b/pkgs/development/tools/gops/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
   preCheck = "export HOME=$(mktemp -d)";
 
   meta = with lib; {
-    description = "A tool to list and diagnose Go processes currently running on your system";
+    description = "Tool to list and diagnose Go processes currently running on your system";
     mainProgram = "gops";
     homepage = "https://github.com/google/gops";
     license = licenses.bsd3;
diff --git a/pkgs/development/tools/goresym/default.nix b/pkgs/development/tools/goresym/default.nix
index 9612b25254f56..d20a9a6c809a8 100644
--- a/pkgs/development/tools/goresym/default.nix
+++ b/pkgs/development/tools/goresym/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "goresym";
-  version = "2.7.3";
+  version = "2.7.4";
 
   src = fetchFromGitHub {
     owner = "mandiant";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-U3AjEKQKPS5ghrmEJTsGRIC2BoPYAWL6RDPhA+eN2hg=";
+    sha256 = "sha256-qFDacInIiV1thuYMjyzTG7ru5bkd2Af1iao7Oes1mRg=";
   };
 
   subPackages = [ "." ];
diff --git a/pkgs/development/tools/gosec/default.nix b/pkgs/development/tools/gosec/default.nix
index 34d26d853e6b2..8068988d0e6fc 100644
--- a/pkgs/development/tools/gosec/default.nix
+++ b/pkgs/development/tools/gosec/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gosec";
-  version = "2.19.0";
+  version = "2.20.0";
 
   src = fetchFromGitHub {
     owner = "securego";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Yb0NEvGx0Ds3t2VjhSWw4oILmN1kR9Dlqe45/VRbu0A=";
+    hash = "sha256-QQD24Z755AurBFXZj/wlRBJegQ74kTvWVy2cN5PnblY=";
   };
 
-  vendorHash = "sha256-yphsGkubJyXDrlCAKh9tdKI5cDldNXvJ22fs3rY5I4Y=";
+  vendorHash = "sha256-VWbsSS3j8zgsZQzsO/ZyKoOUqhNhmMmDICImUZHmC9Y=";
 
   subPackages = [
     "cmd/gosec"
diff --git a/pkgs/development/tools/gotestsum/default.nix b/pkgs/development/tools/gotestsum/default.nix
index 5ab4caa621f9a..5bb515592e57e 100644
--- a/pkgs/development/tools/gotestsum/default.nix
+++ b/pkgs/development/tools/gotestsum/default.nix
@@ -32,7 +32,7 @@ buildGoModule {
   meta = {
     homepage = "https://github.com/gotestyourself/gotestsum";
     changelog = "https://github.com/gotestyourself/gotestsum/releases/tag/v${version}";
-    description = "A human friendly `go test` runner";
+    description = "Human friendly `go test` runner";
     mainProgram = "gotestsum";
     platforms = with lib.platforms; linux ++ darwin;
     license = lib.licenses.asl20;
diff --git a/pkgs/development/tools/gotools/default.nix b/pkgs/development/tools/gotools/default.nix
index d0affbabdbc72..ef4a608fcbc41 100644
--- a/pkgs/development/tools/gotools/default.nix
+++ b/pkgs/development/tools/gotools/default.nix
@@ -2,25 +2,23 @@
 
 buildGoModule rec {
   pname = "gotools";
-  version = "0.18.0";
+  version = "0.22.0";
 
   # using GitHub instead of https://go.googlesource.com/tools because Gitiles UI is to basic to browse
   src = fetchFromGitHub {
     owner = "golang";
     repo = "tools";
     rev = "v${version}";
-    hash = "sha256-sOT98DdLYtPXovpcX020BbLSH99ByJSaVQeM10IcKG4=";
+    hash = "sha256-qqzvbHFbm6RlqztBnuj7HvMa9Wff1+YUA0fxiM0cx8o=";
   };
 
   postPatch = ''
     # The gopls folder contains a Go submodule which causes a build failure
     # and lives in its own package named gopls.
     rm -r gopls
-    # getgo is an experimental go installer which adds generic named server and client binaries to $out/bin
-    rm -r cmd/getgo
   '';
 
-  vendorHash = "sha256-gGAEl3yabXy1qbuBJyrpD+TRrKr56cZEOiSaBoBsYc8=";
+  vendorHash = "sha256-eQ/T/Zxmzn6KF0ewjvt9TDd48RSsSbQ3LgVcKgdeVbU=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/gotraceui/default.nix b/pkgs/development/tools/gotraceui/default.nix
index 8f1bbb6a601e8..30236dd5e2254 100644
--- a/pkgs/development/tools/gotraceui/default.nix
+++ b/pkgs/development/tools/gotraceui/default.nix
@@ -36,7 +36,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "An efficient frontend for Go execution traces";
+    description = "Efficient frontend for Go execution traces";
     mainProgram = "gotraceui";
     homepage = "https://github.com/dominikh/gotraceui";
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/govers/default.nix b/pkgs/development/tools/govers/default.nix
deleted file mode 100644
index dbcb38e08e18d..0000000000000
--- a/pkgs/development/tools/govers/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
-
-buildGoPackage rec {
-  pname = "govers";
-  version = "unstable-2016-06-23";
-
-  goPackagePath = "github.com/rogpeppe/govers";
-
-  src = fetchFromGitHub {
-    owner = "rogpeppe";
-    repo = "govers";
-    rev = "77fd787551fc5e7ae30696e009e334d52d2d3a43";
-    sha256 = "sha256-lpc8wFKAB+A8mBm9q3qNzTM8ktFS1MYdIvZVFP0eiIs=";
-  };
-
-  dontRenameImports = true;
-
-  doCheck = false; # fails, silently
-
-  meta.mainProgram = "govers";
-}
diff --git a/pkgs/development/tools/gox/default.nix b/pkgs/development/tools/gox/default.nix
index f36c546a1fe56..e1ba5d9bb743f 100644
--- a/pkgs/development/tools/gox/default.nix
+++ b/pkgs/development/tools/gox/default.nix
@@ -29,7 +29,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/mitchellh/gox";
-    description = "A dead simple, no frills Go cross compile tool";
+    description = "Dead simple, no frills Go cross compile tool";
     mainProgram = "gox";
     license = licenses.mpl20;
     maintainers = with maintainers; [ azahi ];
diff --git a/pkgs/development/tools/gptcommit/default.nix b/pkgs/development/tools/gptcommit/default.nix
index 2d5251a4126c8..5da71c7bc1c9b 100644
--- a/pkgs/development/tools/gptcommit/default.nix
+++ b/pkgs/development/tools/gptcommit/default.nix
@@ -38,7 +38,7 @@ rustPlatform.buildRustPackage {
   };
 
   meta = with lib; {
-    description = "A git prepare-commit-msg hook for authoring commit messages with GPT-3. ";
+    description = "Git prepare-commit-msg hook for authoring commit messages with GPT-3. ";
     mainProgram = "gptcommit";
     homepage = "https://github.com/zurawiki/gptcommit";
     license = with licenses; [ asl20 ];
diff --git a/pkgs/development/tools/graphql-client/default.nix b/pkgs/development/tools/graphql-client/default.nix
index 428ebf9080da9..05b49c7a03ff6 100644
--- a/pkgs/development/tools/graphql-client/default.nix
+++ b/pkgs/development/tools/graphql-client/default.nix
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
   ] ++ lib.optionals stdenv.isDarwin [ Security ];
 
   meta = with lib; {
-    description = "A GraphQL tool for Rust projects";
+    description = "GraphQL tool for Rust projects";
     mainProgram = "graphql-client";
     homepage = "https://github.com/graphql-rust/graphql-client";
     license = with licenses; [ asl20 /* or */ mit ];
diff --git a/pkgs/development/tools/grpc-gateway/default.nix b/pkgs/development/tools/grpc-gateway/default.nix
index 83d5a575b838e..39621abf85ebe 100644
--- a/pkgs/development/tools/grpc-gateway/default.nix
+++ b/pkgs/development/tools/grpc-gateway/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "grpc-gateway";
-  version = "2.19.1";
+  version = "2.20.0";
 
   src = fetchFromGitHub {
     owner = "grpc-ecosystem";
     repo = "grpc-gateway";
     rev = "v${version}";
-    sha256 = "sha256-CdGQpQfOSimeio8v1lZ7xzE/oAS2qFyu+uN+H9i7vpo=";
+    sha256 = "sha256-CnnJRgEGarwIaE2LkphN3gogzIhwQ5hAaUZFpLR/HxU=";
   };
 
-  vendorHash = "sha256-no7kZGpf/VOuceC3J+izGFQp5aMS3b+Rn+x4BFZ2zgs=";
+  vendorHash = "sha256-aNOWu+TXbXn3jZ29BwU+x+vWMtL76NZoPElFuUwcHiI=";
 
   ldflags = [
     "-X=main.version=${version}"
diff --git a/pkgs/development/tools/gtk-mac-bundler/default.nix b/pkgs/development/tools/gtk-mac-bundler/default.nix
index 3a6c2619d6e87..a94534a9cb32f 100644
--- a/pkgs/development/tools/gtk-mac-bundler/default.nix
+++ b/pkgs/development/tools/gtk-mac-bundler/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "a helper script that creates application bundles form GTK executables for macOS";
+    description = "Helper script that creates application bundles form GTK executables for macOS";
     maintainers = [ maintainers.matthewbauer ];
     platforms = platforms.darwin;
     homepage = "https://gitlab.gnome.org/GNOME/gtk-mac-bundler";
diff --git a/pkgs/development/tools/guile/g-wrap/default.nix b/pkgs/development/tools/guile/g-wrap/default.nix
index 30aa5d12a849a..83028d8fb2e24 100644
--- a/pkgs/development/tools/guile/g-wrap/default.nix
+++ b/pkgs/development/tools/guile/g-wrap/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    description = "A wrapper generator for Guile";
+    description = "Wrapper generator for Guile";
     mainProgram = "g-wrap-config";
     longDescription = ''
       G-Wrap is a tool (and Guile library) for generating function wrappers for
diff --git a/pkgs/development/tools/haskell/hadrian/disable-hyperlinked-source.patch b/pkgs/development/tools/haskell/hadrian/disable-hyperlinked-source.patch
index 72010f85cddc4..103871bb65e12 100644
--- a/pkgs/development/tools/haskell/hadrian/disable-hyperlinked-source.patch
+++ b/pkgs/development/tools/haskell/hadrian/disable-hyperlinked-source.patch
@@ -1,7 +1,7 @@
 diff --git a/hadrian/src/Settings/Builders/Haddock.hs b/hadrian/src/Settings/Builders/Haddock.hs
 index 902b2f85e2..429a441c3b 100644
---- a/src/Settings/Builders/Haddock.hs
-+++ b/src/Settings/Builders/Haddock.hs
+--- a/hadrian/src/Settings/Builders/Haddock.hs
++++ b/hadrian/src/Settings/Builders/Haddock.hs
 @@ -57,7 +57,6 @@ haddockBuilderArgs = mconcat
              , arg $ "--odir=" ++ takeDirectory output
              , arg $ "--dump-interface=" ++ output
diff --git a/pkgs/development/tools/haskell/hadrian/hadrian-9.8.1-allow-Cabal-3.10.patch b/pkgs/development/tools/haskell/hadrian/hadrian-9.8.1-allow-Cabal-3.10.patch
index d813fef31c8d5..eccf1a987d06a 100644
--- a/pkgs/development/tools/haskell/hadrian/hadrian-9.8.1-allow-Cabal-3.10.patch
+++ b/pkgs/development/tools/haskell/hadrian/hadrian-9.8.1-allow-Cabal-3.10.patch
@@ -1,7 +1,7 @@
 diff --git a/hadrian.cabal b/hadrian.cabal
 index 70fded11aa..3893537f05 100644
---- a/hadrian.cabal
-+++ b/hadrian.cabal
+--- a/hadrian/hadrian.cabal
++++ b/hadrian/hadrian.cabal
 @@ -150,7 +150,7 @@ executable hadrian
                         , TypeOperators
      other-extensions:    MultiParamTypeClasses
diff --git a/pkgs/development/tools/haskell/hadrian/hadrian.nix b/pkgs/development/tools/haskell/hadrian/hadrian.nix
index 7a44e2eeffc29..d1368427f0c9f 100644
--- a/pkgs/development/tools/haskell/hadrian/hadrian.nix
+++ b/pkgs/development/tools/haskell/hadrian/hadrian.nix
@@ -11,7 +11,6 @@
 , ghcVersion
   # Customization
 , userSettings ? null
-, enableHyperlinkedSource
 }:
 
 mkDerivation {
@@ -21,13 +20,6 @@ mkDerivation {
   postUnpack = ''
     sourceRoot="$sourceRoot/hadrian"
   '';
-  patches = lib.optionals (!enableHyperlinkedSource) [
-    ./disable-hyperlinked-source.patch
-  ] ++ lib.optionals (lib.elem ghcVersion [ "9.8.1" "9.8.2" ]) [
-    # Incorrect bounds on Cabal
-    # https://gitlab.haskell.org/ghc/ghc/-/issues/24100
-    ./hadrian-9.8.1-allow-Cabal-3.10.patch
-  ];
   # Overwrite UserSettings.hs with a provided custom one
   postPatch = lib.optionalString (userSettings != null) ''
     install -m644 "${writeText "UserSettings.hs" userSettings}" src/UserSettings.hs
diff --git a/pkgs/development/tools/haskell/hadrian/make-hadrian.nix b/pkgs/development/tools/haskell/hadrian/make-hadrian.nix
index 6aa30cb9e60c3..fb9ee89f7cdb9 100644
--- a/pkgs/development/tools/haskell/hadrian/make-hadrian.nix
+++ b/pkgs/development/tools/haskell/hadrian/make-hadrian.nix
@@ -32,10 +32,6 @@
   # Contents of a non-default UserSettings.hs to use when building hadrian, if any.
   # Should be a string or null.
 , userSettings ? null
-  # Whether to pass --hyperlinked-source to haddock or not. This is a custom
-  # workaround as we wait for this to be configurable via userSettings or similar.
-  # https://gitlab.haskell.org/ghc/ghc/-/issues/23625
-, enableHyperlinkedSource ? false
 }:
 
 let
@@ -50,7 +46,7 @@ let
 in
 
 callPackage' ./hadrian.nix ({
-  inherit userSettings enableHyperlinkedSource;
+  inherit userSettings;
 } // lib.optionalAttrs (lib.versionAtLeast ghcVersion "9.9") {
   # Starting with GHC 9.9 development, additional in tree packages are required
   # to build hadrian. (Hackage-released conditional dependencies are handled
diff --git a/pkgs/development/tools/haskell/mueval/default.nix b/pkgs/development/tools/haskell/mueval/default.nix
index 48144b038c98f..f763c69c3737b 100644
--- a/pkgs/development/tools/haskell/mueval/default.nix
+++ b/pkgs/development/tools/haskell/mueval/default.nix
@@ -29,12 +29,6 @@ in stdenv.mkDerivation {
     runHook postBuild
   '';
 
-  doCheck = true;
-
-  checkPhase = ''
-    [[ $($out/bin/mueval -e 42) == 42 ]]
-  '';
-
   passthru = { inherit defaultPkgs; };
   meta.mainProgram = "mueval";
 }
diff --git a/pkgs/development/tools/hatch/default.nix b/pkgs/development/tools/hatch/default.nix
deleted file mode 100644
index 4f3dec85ff67d..0000000000000
--- a/pkgs/development/tools/hatch/default.nix
+++ /dev/null
@@ -1,103 +0,0 @@
-{ lib
-, stdenv
-, fetchPypi
-, python3
-, cargo
-, git
-}:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "hatch";
-  version = "1.9.0";
-  format = "pyproject";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-4ealEeFS7HzU26vE9Pahh0hwvUnJfRfTkLkjLdpoXOM=";
-  };
-
-  nativeBuildInputs = with python3.pkgs; [
-    hatchling
-    hatch-vcs
-  ];
-
-  propagatedBuildInputs = with python3.pkgs; [
-    click
-    hatchling
-    httpx
-    hyperlink
-    keyring
-    packaging
-    pexpect
-    platformdirs
-    rich
-    shellingham
-    tomli-w
-    tomlkit
-    userpath
-    virtualenv
-    zstandard
-  ];
-
-  nativeCheckInputs = [
-    cargo
-  ] ++ (with python3.pkgs; [
-    binary
-    git
-    pytestCheckHook
-    pytest-mock
-    pytest-xdist
-    setuptools
-  ]);
-
-  preCheck = ''
-    export HOME=$(mktemp -d);
-  '';
-
-  disabledTests = [
-    # AssertionError: assert (1980, 1, 2, 0, 0, 0) == (2020, 2, 2, 0, 0, 0)
-    "test_default"
-    "test_explicit_path"
-    "test_default_auto_detection"
-    "test_editable_default"
-    "test_editable_default_extra_dependencies"
-    "test_editable_default_force_include"
-    "test_editable_default_force_include_option"
-    "test_editable_exact"
-    "test_editable_exact_extra_dependencies"
-    "test_editable_exact_force_include"
-    "test_editable_exact_force_include_option"
-    "test_editable_exact_force_include_build_data_precedence"
-    "test_editable_pth"
-    # AssertionError: assert len(extract_installed_requirements(output.splitlines())) > 0
-    "test_creation_allow_system_packages"
-    # cli table output mismatch
-    "test_context_formatting"
-    # expects sh, finds bash
-    "test_all"
-    "test_already_installed_update_flag"
-    "test_already_installed_update_prompt"
-    # unmet expectations about the binary module we provide
-    "test_dependency_not_found"
-    "test_marker_unmet"
-    # output capturing mismatch, likely stdout/stderr mixup
-    "test_no_compatibility_check_if_exists"
-  ] ++ lib.optionals stdenv.isDarwin [
-    # https://github.com/NixOS/nixpkgs/issues/209358
-    "test_scripts_no_environment"
-
-    # This test assumes it is running on macOS with a system shell on the PATH.
-    # It is not possible to run it in a nix build using a /nix/store shell.
-    # See https://github.com/pypa/hatch/pull/709 for the relevant code.
-    "test_populate_default_popen_kwargs_executable"
-  ];
-
-  meta = with lib; {
-    description = "Modern, extensible Python project manager";
-    mainProgram = "hatch";
-    homepage = "https://hatch.pypa.io/latest/";
-    changelog = "https://github.com/pypa/hatch/blob/hatch-v${version}/docs/history/hatch.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ onny ];
-  };
-}
diff --git a/pkgs/development/tools/hclfmt/default.nix b/pkgs/development/tools/hclfmt/default.nix
index 07c4979ada517..730d44272b325 100644
--- a/pkgs/development/tools/hclfmt/default.nix
+++ b/pkgs/development/tools/hclfmt/default.nix
@@ -2,23 +2,23 @@
 
 buildGoModule rec {
   pname = "hclfmt";
-  version = "2.20.1";
+  version = "2.21.0";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "hcl";
     rev = "v${version}";
-    hash = "sha256-+4K6k32azx/66eag9c6lUN8TUJ1ICx4Q8zpnTJWqgQ0=";
+    hash = "sha256-izbctn5OqaDunQLovgCGTgqMzC9i227zXlXUNCEExvA=";
   };
 
-  vendorHash = "sha256-L5OabeDUXbrwFOgWRhi9FPTWK+xbL54ZM7cYhS15Jis=";
+  vendorHash = "sha256-F2i7ph9GL9Xo43da6jHPn9P9FdWC6eSgqCyHPBxdFJY=";
 
   # The code repository includes other tools which are not useful. Only build
   # hclfmt.
   subPackages = [ "cmd/hclfmt" ];
 
   meta = with lib; {
-    description = "a code formatter for the Hashicorp Configuration Language (HCL) format";
+    description = "Code formatter for the Hashicorp Configuration Language (HCL) format";
     homepage = "https://github.com/hashicorp/hcl/tree/main/cmd/hclfmt";
     license = licenses.mpl20;
     mainProgram = "hclfmt";
diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix
index f59340ae2e622..ac1704eecd617 100644
--- a/pkgs/development/tools/hcloud/default.nix
+++ b/pkgs/development/tools/hcloud/default.nix
@@ -34,7 +34,7 @@ buildGoModule rec {
 
   meta = with lib; {
     changelog = "https://github.com/hetznercloud/cli/releases/tag/v${version}";
-    description = "A command-line interface for Hetzner Cloud, a provider for cloud virtual private servers";
+    description = "Command-line interface for Hetzner Cloud, a provider for cloud virtual private servers";
     mainProgram = "hcloud";
     homepage = "https://github.com/hetznercloud/cli";
     license = licenses.mit;
diff --git a/pkgs/development/tools/headache/default.nix b/pkgs/development/tools/headache/default.nix
index 5781a8a54c18c..b5f5e55f3f794 100644
--- a/pkgs/development/tools/headache/default.nix
+++ b/pkgs/development/tools/headache/default.nix
@@ -6,13 +6,13 @@ in
 
 buildDunePackage rec {
   pname = "headache";
-  version = "1.07";
+  version = "1.08";
 
   src = fetchFromGitHub {
     owner = "frama-c";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-RL80ggcJSJFu2UTECUNP6KufRhR8ZnG7sQeYzhrw37g=";
+    sha256 = "sha256-UXQIIsCyJZN4qos7Si7LLm9vQueOduUmLeYHuyT2GZo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/tools/heroku/default.nix b/pkgs/development/tools/heroku/default.nix
index ab8d2b6cd053d..43be538a612ef 100644
--- a/pkgs/development/tools/heroku/default.nix
+++ b/pkgs/development/tools/heroku/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
   pname = "heroku";
-  version = "8.11.4";
+  version = "8.11.5";
 
   src = fetchzip {
-    url = "https://cli-assets.heroku.com/versions/8.11.4/501330b/heroku-v8.11.4-501330b-linux-x64.tar.xz";
-    hash = "sha256-Q8kXXsk2VGNLv4LyUqnN3Rapozac/jgkyhSnkBOcDmo=";
+    url = "https://cli-assets.heroku.com/versions/8.11.5/df5cd30/heroku-v8.11.5-df5cd30-linux-x64.tar.xz";
+    hash = "sha256-in6VuJmoItXGL85XqN1oItGPkUmDb4n+LzxE5q4ycYc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/hobbes/default.nix b/pkgs/development/tools/hobbes/default.nix
index 851d64545d8f6..d4a76bf29183e 100644
--- a/pkgs/development/tools/hobbes/default.nix
+++ b/pkgs/development/tools/hobbes/default.nix
@@ -59,7 +59,7 @@ llvmPackages.stdenv.mkDerivation {
 
   meta = with lib; {
     broken = stdenv.isDarwin;
-    description = "A language and an embedded JIT compiler";
+    description = "Language and an embedded JIT compiler";
     longDescription = ''
       Hobbes is a a language, embedded compiler, and runtime for efficient
       dynamic expression evaluation, data storage and analysis.
diff --git a/pkgs/development/tools/hostess/default.nix b/pkgs/development/tools/hostess/default.nix
index f15f67e3b7cb5..efc849f0651d9 100644
--- a/pkgs/development/tools/hostess/default.nix
+++ b/pkgs/development/tools/hostess/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
   vendorHash = null;
 
   meta = with lib; {
-    description = "An idempotent command-line utility for managing your /etc/hosts* file.";
+    description = "Idempotent command-line utility for managing your /etc/hosts* file";
     mainProgram = "hostess";
     license = licenses.mit;
     maintainers = with maintainers; [ edlimerkaj ];
diff --git a/pkgs/development/tools/hotdoc/default.nix b/pkgs/development/tools/hotdoc/default.nix
index 4f58f961b9f84..1bf0321b4378b 100644
--- a/pkgs/development/tools/hotdoc/default.nix
+++ b/pkgs/development/tools/hotdoc/default.nix
@@ -118,7 +118,7 @@ buildPythonApplication rec {
   };
 
   meta = with lib; {
-    description = "The tastiest API documentation system";
+    description = "Tastiest API documentation system";
     homepage = "https://hotdoc.github.io/";
     license = [ licenses.lgpl21Plus ];
     maintainers = with maintainers; [ lilyinstarlight ];
diff --git a/pkgs/development/tools/hover/default.nix b/pkgs/development/tools/hover/default.nix
index dfaa976aa9e08..86630d33cea36 100644
--- a/pkgs/development/tools/hover/default.nix
+++ b/pkgs/development/tools/hover/default.nix
@@ -37,7 +37,7 @@ let
     inherit pname version;
 
     meta = with lib; {
-      description = "A build tool to run Flutter applications on desktop";
+      description = "Build tool to run Flutter applications on desktop";
       homepage = "https://github.com/go-flutter-desktop/hover";
       license = licenses.bsd3;
       platforms = platforms.linux;
@@ -85,7 +85,7 @@ let
 
 in
 buildFHSEnv rec {
-  name = pname;
+  inherit pname version;
   targetPkgs = pkgs: [
     binutils
     dejavu_fonts
diff --git a/pkgs/development/tools/hred/default.nix b/pkgs/development/tools/hred/default.nix
index 040035dbe0dc4..8de5ec2a5f636 100644
--- a/pkgs/development/tools/hred/default.nix
+++ b/pkgs/development/tools/hred/default.nix
@@ -24,7 +24,7 @@ buildNpmPackage rec {
   };
 
   meta = {
-    description = "A command-line tool to extract data from HTML";
+    description = "Command-line tool to extract data from HTML";
     mainProgram = "hred";
     license = lib.licenses.mit;
     homepage = "https://github.com/danburzo/hred";
diff --git a/pkgs/development/tools/inferno/default.nix b/pkgs/development/tools/inferno/default.nix
index d9490abad536e..4e8351cb4ddfa 100644
--- a/pkgs/development/tools/inferno/default.nix
+++ b/pkgs/development/tools/inferno/default.nix
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A port of parts of the flamegraph toolkit to Rust";
+    description = "Port of parts of the flamegraph toolkit to Rust";
     homepage = "https://github.com/jonhoo/inferno";
     changelog = "https://github.com/jonhoo/inferno/blob/v${version}/CHANGELOG.md";
     license = licenses.cddl;
diff --git a/pkgs/development/tools/infisical/default.nix b/pkgs/development/tools/infisical/default.nix
index 73036f7691ac1..f9fff4461a253 100644
--- a/pkgs/development/tools/infisical/default.nix
+++ b/pkgs/development/tools/infisical/default.nix
@@ -15,7 +15,7 @@ let
   buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json);
 
   # the version of infisical
-  version = "0.22.2";
+  version = "0.22.3";
 
   # the platform-specific, statically linked binary
   src =
@@ -67,7 +67,7 @@ stdenv.mkDerivation {
   };
 
   meta = with lib; {
-    description = "The official Infisical CLI";
+    description = "Official Infisical CLI";
     longDescription = ''
       Infisical is the open-source secret management platform:
       Sync secrets across your team/infrastructure and prevent secret leaks.
@@ -76,7 +76,7 @@ stdenv.mkDerivation {
     changelog = "https://github.com/infisical/infisical/releases/tag/infisical-cli%2Fv${version}";
     license = licenses.mit;
     mainProgram = "infisical";
-    maintainers = [ maintainers.ivanmoreau maintainers.jgoux ];
+    maintainers = teams.infisical.members;
     platforms = [
       "x86_64-linux"
       "aarch64-linux"
diff --git a/pkgs/development/tools/infisical/hashes.json b/pkgs/development/tools/infisical/hashes.json
index a044c5f196cad..bcbc0cbc511ea 100644
--- a/pkgs/development/tools/infisical/hashes.json
+++ b/pkgs/development/tools/infisical/hashes.json
@@ -1,6 +1,6 @@
 { "_comment": "@generated by pkgs/development/tools/infisical/update.sh"
-, "x86_64-linux": "sha256-oRRkv0x43qhRzsTwcP9855kAOigfn13WPAGj7Izcm3Y="
-, "x86_64-darwin": "sha256-G7vokhMq4w781MkxeYTolc2ATFOwGLJeZ4XIS0E1h5s="
-, "aarch64-linux": "sha256-JXzTAfSNFPlxM3/vm+mMd8poT80b6XpZXXLShsGHGnY="
-, "aarch64-darwin": "sha256-bMw39FsL4tjAF/O/Y7Xg2pxVOW64qXLPbDjau8gonY0="
+, "x86_64-linux": "sha256-cju3d8/V0kF1U7IGvcdQiEbP4YX/xqy+TConpXEAreY="
+, "x86_64-darwin": "sha256-EMjAjpNaiH5Z9WpqFs/bnWlp7XteZXVdK/1pcIRzWHY="
+, "aarch64-linux": "sha256-3iIVSnEIfko6kzwC5glLgM5uUW36fIBltBQ/6FZZb4U="
+, "aarch64-darwin": "sha256-jozMvcYNzp+4xO+NI6rs/FRsurS8IZ8d54iqXmkKguA="
 }
diff --git a/pkgs/development/tools/initool/default.nix b/pkgs/development/tools/initool/default.nix
index a37d74afbd6a2..1b3c3f05eac94 100644
--- a/pkgs/development/tools/initool/default.nix
+++ b/pkgs/development/tools/initool/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "initool";
-  version = "0.14.1";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "dbohdan";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-wb9hJ0R1R7kYt+TWznqfVGKms3hQjzB8TJYpS89da/E=";
+    hash = "sha256-f426yzSYcrhd0MOZc5vDg4T4m/RdWzTz/KPzb65h03U=";
   };
 
   nativeBuildInputs = [ mlton ];
diff --git a/pkgs/development/tools/irony-server/default.nix b/pkgs/development/tools/irony-server/default.nix
index d3c0818a829c5..62b44214adcfa 100644
--- a/pkgs/development/tools/irony-server/default.nix
+++ b/pkgs/development/tools/irony-server/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   cmakeDir = "server";
 
   meta = with lib; {
-    description = "The server part of irony";
+    description = "Server part of irony";
     mainProgram = "irony-server";
     homepage = "https://melpa.org/#/irony";
     maintainers = [ maintainers.deepfire ];
diff --git a/pkgs/development/tools/jaq/default.nix b/pkgs/development/tools/jaq/default.nix
index b95473aac7452..fd1604f0c2167 100644
--- a/pkgs/development/tools/jaq/default.nix
+++ b/pkgs/development/tools/jaq/default.nix
@@ -7,23 +7,23 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jaq";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "01mf02";
     repo = "jaq";
     rev = "v${version}";
-    hash = "sha256-QXlHiVlKx9qmW5Cw4IGzjuUSUfoc9IvA5ZkTc1Ev37Q=";
+    hash = "sha256-6HqZBJeUaYykTZLSrqQN0Rt6rvnvzb53T56oy06wIUw=";
   };
 
-  cargoHash = "sha256-9fv8Z9AE9GV/Bq+iAsxUkD/CS25/kOBKKS4SAke/tFk=";
+  cargoHash = "sha256-Zais+yGfrzxKrKA4uAG65uzhamnuYxQEKkIaeiOlcLQ=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
   ];
 
   meta = with lib; {
-    description = "A jq clone focused on correctness, speed and simplicity";
+    description = "Jq clone focused on correctness, speed and simplicity";
     homepage = "https://github.com/01mf02/jaq";
     changelog = "https://github.com/01mf02/jaq/releases/tag/${src.rev}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/java/java-language-server/default.nix b/pkgs/development/tools/java/java-language-server/default.nix
index 0cca4d4ca56ed..b0cc4df31ab9b 100644
--- a/pkgs/development/tools/java/java-language-server/default.nix
+++ b/pkgs/development/tools/java/java-language-server/default.nix
@@ -23,7 +23,6 @@ maven.buildMavenPackage rec {
   };
 
   mvnFetchExtraArgs.dontConfigure = true;
-  mvnParameters = "-DskipTests";
   mvnHash = "sha256-2uthmSjFQ43N5lgV11DsxuGce+ZptZsmRLTgjDo0M2w=";
 
   nativeBuildInputs = [ jdk makeWrapper ];
@@ -39,6 +38,8 @@ maven.buildMavenPackage rec {
       --compress 2
   '';
 
+  doCheck = false;
+
   installPhase = ''
     runHook preInstall
 
@@ -52,7 +53,7 @@ maven.buildMavenPackage rec {
   '';
 
   meta = with lib; {
-    description = "A Java language server based on v3.0 of the protocol and implemented using the Java compiler API";
+    description = "Java language server based on v3.0 of the protocol and implemented using the Java compiler API";
     mainProgram = "java-language-server";
     homepage = "https://github.com/georgewfraser/java-language-server";
     license = licenses.mit;
diff --git a/pkgs/development/tools/java/visualvm/default.nix b/pkgs/development/tools/java/visualvm/default.nix
index 5346e82095d1d..c7207a686ca7a 100644
--- a/pkgs/development/tools/java/visualvm/default.nix
+++ b/pkgs/development/tools/java/visualvm/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A visual interface for viewing information about Java applications";
+    description = "Visual interface for viewing information about Java applications";
     mainProgram = "visualvm";
     longDescription = ''
       VisualVM is a visual tool integrating several commandline JDK
diff --git a/pkgs/development/tools/jazzy/default.nix b/pkgs/development/tools/jazzy/default.nix
index a0561040704cf..fc5cd68217ed7 100644
--- a/pkgs/development/tools/jazzy/default.nix
+++ b/pkgs/development/tools/jazzy/default.nix
@@ -8,7 +8,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "jazzy";
 
   meta = with lib; {
-    description     = "A command-line utility that generates documentation for Swift or Objective-C";
+    description     = "Command-line utility that generates documentation for Swift or Objective-C";
     homepage        = "https://github.com/realm/jazzy";
     license         = licenses.mit;
     platforms       = platforms.darwin;
diff --git a/pkgs/development/tools/jbang/default.nix b/pkgs/development/tools/jbang/default.nix
index a21d26def2c30..e76caa4c58d8b 100644
--- a/pkgs/development/tools/jbang/default.nix
+++ b/pkgs/development/tools/jbang/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     cp -r . $out
     wrapProgram $out/bin/jbang \
       --set JAVA_HOME ${jdk} \
-      --set PATH ${lib.makeBinPath [ coreutils jdk curl ]}
+      --set PATH ${lib.makeBinPath [ (placeholder "out") coreutils jdk curl ]}
     runHook postInstall
   '';
 
diff --git a/pkgs/development/tools/jf/default.nix b/pkgs/development/tools/jf/default.nix
index 2c32a888f34e1..71d0d806337ee 100644
--- a/pkgs/development/tools/jf/default.nix
+++ b/pkgs/development/tools/jf/default.nix
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A small utility to safely format and print JSON objects in the commandline";
+    description = "Small utility to safely format and print JSON objects in the commandline";
     mainProgram = "jf";
     homepage = "https://github.com/sayanarijit/jf";
     license = licenses.mit;
diff --git a/pkgs/development/tools/jid/default.nix b/pkgs/development/tools/jid/default.nix
index cecb179c467ec..036224f86dd0e 100644
--- a/pkgs/development/tools/jid/default.nix
+++ b/pkgs/development/tools/jid/default.nix
@@ -26,7 +26,7 @@ buildGoModule rec {
   };
 
   meta = {
-    description = "A command-line tool to incrementally drill down JSON";
+    description = "Command-line tool to incrementally drill down JSON";
     mainProgram = "jid";
     homepage = "https://github.com/simeji/jid";
     license = lib.licenses.mit;
diff --git a/pkgs/development/tools/jless/default.nix b/pkgs/development/tools/jless/default.nix
index a07db6781ef34..e704ec994eed2 100644
--- a/pkgs/development/tools/jless/default.nix
+++ b/pkgs/development/tools/jless/default.nix
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
     ++ lib.optionals stdenv.isLinux [ libxcb ];
 
   meta = with lib; {
-    description = "A command-line pager for JSON data";
+    description = "Command-line pager for JSON data";
     mainProgram = "jless";
     homepage = "https://jless.io";
     changelog = "https://github.com/PaulJuliusMartinez/jless/blob/${src.rev}/CHANGELOG.md";
diff --git a/pkgs/development/tools/jmespath/default.nix b/pkgs/development/tools/jmespath/default.nix
index 5ec6120f01cda..26f90e8602a54 100644
--- a/pkgs/development/tools/jmespath/default.nix
+++ b/pkgs/development/tools/jmespath/default.nix
@@ -20,7 +20,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
-    description = "A JMESPath implementation in Go";
+    description = "JMESPath implementation in Go";
     homepage = "https://github.com/jmespath/go-jmespath";
     license = licenses.asl20;
     maintainers = with maintainers; [ cransom ];
diff --git a/pkgs/development/tools/jo/default.nix b/pkgs/development/tools/jo/default.nix
index 06c4fa6477ff4..500bab51baada 100644
--- a/pkgs/development/tools/jo/default.nix
+++ b/pkgs/development/tools/jo/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pandoc pkg-config ];
 
   meta = with lib; {
-    description = "A small utility to create JSON objects";
+    description = "Small utility to create JSON objects";
     homepage = "https://github.com/jpmens/jo";
     mainProgram = "jo";
     license = licenses.gpl2Plus;
diff --git a/pkgs/development/tools/jp/default.nix b/pkgs/development/tools/jp/default.nix
index 7c59234f6f937..8a44f0acade1f 100644
--- a/pkgs/development/tools/jp/default.nix
+++ b/pkgs/development/tools/jp/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
   vendorHash = "sha256-K6ZNtART7tcVBH5myV6vKrKWfnwK8yTa6/KK4QLyr00=";
 
   meta = with lib; {
-    description = "A command line interface to the JMESPath expression language for JSON";
+    description = "Command line interface to the JMESPath expression language for JSON";
     mainProgram = "jp";
     homepage = "https://github.com/jmespath/jp";
     maintainers = with maintainers; [ cransom ];
diff --git a/pkgs/development/tools/jq/default.nix b/pkgs/development/tools/jq/default.nix
index 432fe6826bd73..8d4ec0d1c5a65 100644
--- a/pkgs/development/tools/jq/default.nix
+++ b/pkgs/development/tools/jq/default.nix
@@ -20,6 +20,11 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "doc" "man" "dev" "lib" "out" ];
 
+  # https://github.com/jqlang/jq/issues/2871
+  postPatch = lib.optionalString stdenv.isFreeBSD ''
+    substituteInPlace Makefile.am --replace-fail "tests/mantest" "" --replace-fail "tests/optionaltest" ""
+  '';
+
   # Upstream script that writes the version that's eventually compiled
   # and printed in `jq --help` relies on a .git directory which our src
   # doesn't keep.
@@ -73,7 +78,7 @@ stdenv.mkDerivation rec {
   passthru = { inherit onigurumaSupport; };
 
   meta = with lib; {
-    description = "A lightweight and flexible command-line JSON processor";
+    description = "Lightweight and flexible command-line JSON processor";
     homepage = "https://jqlang.github.io/jq/";
     license = licenses.mit;
     maintainers = with maintainers; [ raskin artturin ncfavier ];
diff --git a/pkgs/development/tools/jql/default.nix b/pkgs/development/tools/jql/default.nix
index 95c0ff65e57dc..82d25feaa4fb2 100644
--- a/pkgs/development/tools/jql/default.nix
+++ b/pkgs/development/tools/jql/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jql";
-  version = "7.1.8";
+  version = "7.1.12";
 
   src = fetchFromGitHub {
     owner = "yamafaktory";
     repo = pname;
     rev = "jql-v${version}";
-    hash = "sha256-TjpbFX7k4coZH8IY4bygLwj8Z4JLQQ9yUqOmmr7NU9s=";
+    hash = "sha256-k8BHmZe7cXUJV6OJlcFdabFiZwg4aEGnpyv5xeM3pH4=";
   };
 
-  cargoHash = "sha256-7mzmaXeYZGtUjefC7Zo8wOArBuus7mfu6AaKE4tS5HE=";
+  cargoHash = "sha256-G/t9R9WObZNj5AsF0rjNuTf10snIhJE/LFUvXk3KoBQ=";
 
   meta = with lib; {
-    description = "A JSON Query Language CLI tool built with Rust";
+    description = "JSON Query Language CLI tool built with Rust";
     homepage = "https://github.com/yamafaktory/jql";
     changelog = "https://github.com/yamafaktory/jql/releases/tag/${src.rev}";
     license = with licenses; [ asl20 mit ];
diff --git a/pkgs/development/tools/jqp/default.nix b/pkgs/development/tools/jqp/default.nix
index 9c604d5cab4c1..22fee1b4ee98f 100644
--- a/pkgs/development/tools/jqp/default.nix
+++ b/pkgs/development/tools/jqp/default.nix
@@ -5,21 +5,21 @@
 
 buildGoModule rec {
   pname = "jqp";
-  version = "0.5.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "noahgorstein";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-z2EKtSM+/wWGgwsHKDcxtc/M6UZ01AiTZaaCYCWjU7M=";
+    sha256 = "sha256-i22qALVa8EUaTwgN6DocGJArNyOvkQbFuH++EQKBuIc=";
   };
 
-  vendorHash = "sha256-7UiQjTgcwGOTEJEaWywEdZvpkM/MoXU3d6k8oVmUiW8=";
+  vendorHash = "sha256-GbY0x4BgV0+QdVMkITLF/W//oO72FbjV6lNJRm6ecys=";
 
   subPackages = [ "." ];
 
   meta = with lib; {
-    description = "A TUI playground to experiment with jq";
+    description = "TUI playground to experiment with jq";
     mainProgram = "jqp";
     homepage = "https://github.com/noahgorstein/jqp";
     license = licenses.mit;
diff --git a/pkgs/development/tools/jsonnet-bundler/default.nix b/pkgs/development/tools/jsonnet-bundler/default.nix
index 256d90fd76522..59981ddd95cb6 100644
--- a/pkgs/development/tools/jsonnet-bundler/default.nix
+++ b/pkgs/development/tools/jsonnet-bundler/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
 
   meta = with lib; {
-    description = "A jsonnet package manager";
+    description = "Jsonnet package manager";
     homepage = "https://github.com/jsonnet-bundler/jsonnet-bundler";
     license = licenses.asl20;
     maintainers = with maintainers; [ preisschild ];
diff --git a/pkgs/development/tools/k6/default.nix b/pkgs/development/tools/k6/default.nix
index 3d1dfbd2d0b9e..af08a7dfa43de 100644
--- a/pkgs/development/tools/k6/default.nix
+++ b/pkgs/development/tools/k6/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "k6";
-  version = "0.50.0";
+  version = "0.51.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-lR16M8TAP0ilvcrA9YjVoZMrsi+kwEFKx5Fd3birHHM=";
+    hash = "sha256-NlSb0UNe61AG/BQyUFqZEug3VnGTi0W0o0CblvV+oDg=";
   };
 
   subPackages = [ "./" ];
@@ -30,7 +30,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "A modern load testing tool, using Go and JavaScript";
+    description = "Modern load testing tool, using Go and JavaScript";
     mainProgram = "k6";
     homepage = "https://k6.io/";
     changelog = "https://github.com/grafana/k6/releases/tag/v${version}";
diff --git a/pkgs/development/tools/kafka-delta-ingest/default.nix b/pkgs/development/tools/kafka-delta-ingest/default.nix
index 2af697dac6886..cffc417d7cb98 100644
--- a/pkgs/development/tools/kafka-delta-ingest/default.nix
+++ b/pkgs/development/tools/kafka-delta-ingest/default.nix
@@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     broken = stdenv.isDarwin;
-    description = "A highly efficient daemon for streaming data from Kafka into Delta Lake";
+    description = "Highly efficient daemon for streaming data from Kafka into Delta Lake";
     mainProgram = "kafka-delta-ingest";
     homepage = "https://github.com/delta-io/kafka-delta-ingest";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/kcat/default.nix b/pkgs/development/tools/kcat/default.nix
index 8ece67da031e2..f3bd6a8555b63 100644
--- a/pkgs/development/tools/kcat/default.nix
+++ b/pkgs/development/tools/kcat/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ zlib rdkafka yajl avro-c libserdes ];
 
   meta = with lib; {
-    description = "A generic non-JVM producer and consumer for Apache Kafka";
+    description = "Generic non-JVM producer and consumer for Apache Kafka";
     mainProgram = "kcat";
     homepage = "https://github.com/edenhill/kcat";
     license = licenses.bsd2;
diff --git a/pkgs/development/tools/kcli/default.nix b/pkgs/development/tools/kcli/default.nix
index fa4e887451360..4047b3c296dd6 100644
--- a/pkgs/development/tools/kcli/default.nix
+++ b/pkgs/development/tools/kcli/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
   subPackages = [ "." ];
 
   meta = with lib; {
-    description = "A kafka command line browser";
+    description = "Kafka command line browser";
     homepage = "https://github.com/cswank/kcli";
     license = licenses.mit;
     maintainers = with maintainers; [ cswank ];
diff --git a/pkgs/development/tools/kdash/default.nix b/pkgs/development/tools/kdash/default.nix
index 505aead90fd61..d3a23695e065e 100644
--- a/pkgs/development/tools/kdash/default.nix
+++ b/pkgs/development/tools/kdash/default.nix
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-ODQf+Fvil+oBJcM38h1HdrcgtJw0b65f5auLuZtUgik=";
 
   meta = with lib; {
-    description = "A simple and fast dashboard for Kubernetes";
+    description = "Simple and fast dashboard for Kubernetes";
     mainProgram = "kdash";
     homepage = "https://github.com/kdash-rs/kdash";
     license = with licenses; [ mit ];
diff --git a/pkgs/development/tools/kind/default.nix b/pkgs/development/tools/kind/default.nix
index 6896e953abde4..0d87b23022f0c 100644
--- a/pkgs/development/tools/kind/default.nix
+++ b/pkgs/development/tools/kind/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kind";
-  version = "0.22.0";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "kubernetes-sigs";
     repo = "kind";
-    hash = "sha256-DJTsyGEQA36MSmW5eWYTV1Tk6JOBIVJrEARA/x70S0U=";
+    hash = "sha256-S+kk3g/A1bio1v7zoXmvaTAYd0LBq5uip/9DvhkzZnM=";
   };
 
   patches = [
@@ -16,7 +16,7 @@ buildGoModule rec {
     ./kernel-module-path.patch
   ];
 
-  vendorHash = "sha256-J/sJd2LLMBr53Z3sGrWgnWA8Ry+XqqfCEObqFyUD96g=";
+  vendorHash = "sha256-YB2/MudoIVtTHU6FtvZOEhhxg5ss6OvENXOykPlQ12Y=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/knightos/kpack/default.nix b/pkgs/development/tools/knightos/kpack/default.nix
index 5035b064b6554..ee0ac1568614a 100644
--- a/pkgs/development/tools/knightos/kpack/default.nix
+++ b/pkgs/development/tools/knightos/kpack/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage    = "https://knightos.org/";
-    description = "A tool to create or extract KnightOS packages";
+    description = "Tool to create or extract KnightOS packages";
     mainProgram = "kpack";
     license     = licenses.lgpl2Only;
     maintainers = with maintainers; [ siraben ];
diff --git a/pkgs/development/tools/knightos/scas/default.nix b/pkgs/development/tools/knightos/scas/default.nix
index 221c5a0d12d5f..e05953e87ec72 100644
--- a/pkgs/development/tools/knightos/scas/default.nix
+++ b/pkgs/development/tools/knightos/scas/default.nix
@@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
 
   depsBuildBuild = lib.optionals isCrossCompiling [ buildPackages.knightos-scas ];
   nativeBuildInputs = [ asciidoc libxslt.bin cmake ];
+
+  env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
+    "-Wno-error=implicit-function-declaration"
+  ]);
+
   postInstall = ''
     cd ..
     make DESTDIR=$out install_man
diff --git a/pkgs/development/tools/knightos/z80e/default.nix b/pkgs/development/tools/knightos/z80e/default.nix
index b8aa281d413db..41c5e5ca9be8b 100644
--- a/pkgs/development/tools/knightos/z80e/default.nix
+++ b/pkgs/development/tools/knightos/z80e/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage    = "https://knightos.org/";
-    description = "A Z80 calculator emulator and debugger";
+    description = "Z80 calculator emulator and debugger";
     license     = licenses.mit;
     maintainers = with maintainers; [ siraben ];
     platforms   = platforms.unix;
diff --git a/pkgs/development/tools/ko/default.nix b/pkgs/development/tools/ko/default.nix
index f8fa01526b9dd..01dec8c3bf1bd 100644
--- a/pkgs/development/tools/ko/default.nix
+++ b/pkgs/development/tools/ko/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "ko";
-  version = "0.15.2";
+  version = "0.15.4";
 
   src = fetchFromGitHub {
     owner = "ko-build";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-/1s335bXbBKlzKT4AevuHltLdU2qj6pJFngOrJCLtUw=";
+    hash = "sha256-MeFoy2WoPsJIgUhpzt/4sEP6J9lM4nsSAK2VZiTS7jo=";
   };
 
-  vendorHash = null;
+  vendorHash = "sha256-n/NbbitSyjl05gESPVG3Uv2ek1U0Cd2fQqcxBhDKULU=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/konstraint/default.nix b/pkgs/development/tools/konstraint/default.nix
index 259b4063a1401..f2f9e03404819 100644
--- a/pkgs/development/tools/konstraint/default.nix
+++ b/pkgs/development/tools/konstraint/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "konstraint";
-  version = "0.36.0";
+  version = "0.37.0";
 
   src = fetchFromGitHub {
     owner = "plexsystems";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GQ79xsvlRDwrthtYgykwAJLP9rkk5iNHGelWAQzOZoA=";
+    sha256 = "sha256-poIXY4++nv2bCkcHdZHb0dRa5NVxsw9Vmg7nMVh1ocI=";
   };
-  vendorHash = "sha256-EBlJCcF8UcstaD1ztaAFL4MSfBOYvpeUygzXnQbW8N8=";
+  vendorHash = "sha256-0V8B/w4K3r23tINDfjLAKe5wMpJ+8uiF4nCMr062pb0=";
 
   # Exclude go within .github folder
   excludedPackages = ".github";
@@ -37,7 +37,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://github.com/plexsystems/konstraint";
     changelog = "https://github.com/plexsystems/konstraint/releases/tag/v${version}";
-    description = "A policy management tool for interacting with Gatekeeper";
+    description = "Policy management tool for interacting with Gatekeeper";
     mainProgram = "konstraint";
     longDescription = ''
       konstraint is a CLI tool to assist with the creation and management of templates and constraints when using
diff --git a/pkgs/development/tools/krankerl/default.nix b/pkgs/development/tools/krankerl/default.nix
index 0e04733e375e0..bad8a84717906 100644
--- a/pkgs/development/tools/krankerl/default.nix
+++ b/pkgs/development/tools/krankerl/default.nix
@@ -38,7 +38,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A CLI helper to manage, package and publish Nextcloud apps";
+    description = "CLI helper to manage, package and publish Nextcloud apps";
     mainProgram = "krankerl";
     homepage = "https://github.com/ChristophWurst/krankerl";
     license = licenses.gpl3Only;
diff --git a/pkgs/development/tools/krew/default.nix b/pkgs/development/tools/krew/default.nix
index 8fc0570800a97..490fc4b94a76d 100644
--- a/pkgs/development/tools/krew/default.nix
+++ b/pkgs/development/tools/krew/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, makeWrapper, gitMinimal }:
 
 buildGoModule rec {
   pname = "krew";
@@ -15,6 +15,13 @@ buildGoModule rec {
 
   subPackages = [ "cmd/krew" ];
 
+  nativeBuildInputs = [ makeWrapper ];
+
+  postFixup = ''
+    wrapProgram $out/bin/krew \
+      --prefix PATH : ${lib.makeBinPath [ gitMinimal ]}
+  '';
+
   meta = with lib; {
     description = "Package manager for kubectl plugins";
     mainProgram = "krew";
diff --git a/pkgs/development/tools/ktlint/default.nix b/pkgs/development/tools/ktlint/default.nix
index 89039fabfbe3e..904b3a78f10e4 100644
--- a/pkgs/development/tools/ktlint/default.nix
+++ b/pkgs/development/tools/ktlint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ktlint";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "https://github.com/pinterest/ktlint/releases/download/${version}/ktlint";
-    sha256 = "sha256:14pbjih8gkh5cp9cqpbciml4ba7nvq5vmvivyrmhff3xq93cya1f";
+    sha256 = "sha256-AbLg74kzg6UNvrE5cP5/o742yj6DJZ4BZJlFsJ1zaYU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "An anti-bikeshedding Kotlin linter with built-in formatter";
+    description = "Anti-bikeshedding Kotlin linter with built-in formatter";
     homepage = "https://ktlint.github.io/";
     license = licenses.mit;
     platforms = jre_headless.meta.platforms;
diff --git a/pkgs/development/tools/kube-linter/default.nix b/pkgs/development/tools/kube-linter/default.nix
index c551fec46e870..df0abaac6fa1c 100644
--- a/pkgs/development/tools/kube-linter/default.nix
+++ b/pkgs/development/tools/kube-linter/default.nix
@@ -34,7 +34,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A static analysis tool that checks Kubernetes YAML files and Helm charts";
+    description = "Static analysis tool that checks Kubernetes YAML files and Helm charts";
     homepage = "https://kubelinter.io";
     changelog   = "https://github.com/stackrox/kube-linter/releases/tag/v${version}";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/kube-prompt/default.nix b/pkgs/development/tools/kube-prompt/default.nix
index cdf2632811fca..b9abf26206eff 100644
--- a/pkgs/development/tools/kube-prompt/default.nix
+++ b/pkgs/development/tools/kube-prompt/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
   vendorHash = "sha256-wou5inOX8vadEBCIBccwSRjtzf0GH1abwNdUu4JBvyM=";
 
   meta = with lib; {
-    description = "An interactive kubernetes client featuring auto-complete";
+    description = "Interactive kubernetes client featuring auto-complete";
     mainProgram = "kube-prompt";
     license = licenses.mit;
     homepage = "https://github.com/c-bata/kube-prompt";
diff --git a/pkgs/development/tools/kubeswitch/default.nix b/pkgs/development/tools/kubeswitch/default.nix
index 470fdac9b3c22..9212f2a1da3fb 100644
--- a/pkgs/development/tools/kubeswitch/default.nix
+++ b/pkgs/development/tools/kubeswitch/default.nix
@@ -43,7 +43,7 @@ buildGoModule rec {
 
   meta = {
     changelog = "https://github.com/danielfoehrKn/kubeswitch/releases/tag/${version}";
-    description = "The kubectx for operators, a drop-in replacement for kubectx";
+    description = "Kubectx for operators, a drop-in replacement for kubectx";
     license = lib.licenses.asl20;
     homepage = "https://github.com/danielfoehrKn/kubeswitch";
     maintainers = with lib.maintainers; [ bryanasdev000 ];
diff --git a/pkgs/development/tools/kustomize/default.nix b/pkgs/development/tools/kustomize/default.nix
index 849c8054b0020..8d364f2d58c5d 100644
--- a/pkgs/development/tools/kustomize/default.nix
+++ b/pkgs/development/tools/kustomize/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "kustomize";
-  version = "5.4.1";
+  version = "5.4.2";
 
   ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in
     [
@@ -15,13 +15,13 @@ buildGoModule rec {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "kustomize/v${version}";
-    hash = "sha256-zt+/CKIIaZxfjfMu9L4/bDc5MmaqeEp3MI/m++GQoEc=";
+    hash = "sha256-cNmDhKRi4pk26vADFMXN6SocdPF1EIYf4wT4fQYgPVc=";
   };
 
   # avoid finding test and development commands
   modRoot = "kustomize";
   proxyVendor = true;
-  vendorHash = "sha256-YxkZ2YlkvMihTYi34lfwpUrmGa4LrrWsP2cpJZY/41A=";
+  vendorHash = "sha256-Nbc3zdVD8KIL80TqdcVNFMowfFsKKIPsEpkwq5fvWAI=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/kustomize/kustomize-sops.nix b/pkgs/development/tools/kustomize/kustomize-sops.nix
index adc354d496dee..07cb98726f049 100644
--- a/pkgs/development/tools/kustomize/kustomize-sops.nix
+++ b/pkgs/development/tools/kustomize/kustomize-sops.nix
@@ -22,7 +22,7 @@ buildGoModule rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A Flexible Kustomize Plugin for SOPS Encrypted Resource";
+    description = "Flexible Kustomize Plugin for SOPS Encrypted Resource";
     longDescription = ''
       KSOPS can be used to decrypt any Kubernetes resource, but is most commonly
       used to decrypt encrypted Kubernetes Secrets and ConfigMaps.
diff --git a/pkgs/development/tools/kythe/default.nix b/pkgs/development/tools/kythe/default.nix
index 4cac7a0e3b7b4..4129e220ac024 100644
--- a/pkgs/development/tools/kythe/default.nix
+++ b/pkgs/development/tools/kythe/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A pluggable, (mostly) language-agnostic ecosystem for building tools that work with code";
+    description = "Pluggable, (mostly) language-agnostic ecosystem for building tools that work with code";
     longDescription = ''
     The Kythe project was founded to provide and support tools and standards
       that encourage interoperability among programs that manipulate source
diff --git a/pkgs/development/tools/language-servers/beancount-language-server/default.nix b/pkgs/development/tools/language-servers/beancount-language-server/default.nix
index aaebce0891262..6fa51c782e6ec 100644
--- a/pkgs/development/tools/language-servers/beancount-language-server/default.nix
+++ b/pkgs/development/tools/language-servers/beancount-language-server/default.nix
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A Language Server Protocol (LSP) for beancount files";
+    description = "Language Server Protocol (LSP) for beancount files";
     mainProgram = "beancount-language-server";
     homepage = "https://github.com/polarmutex/beancount-language-server";
     license = with licenses; [ mit ];
diff --git a/pkgs/development/tools/language-servers/ccls/default.nix b/pkgs/development/tools/language-servers/ccls/default.nix
index c2e6ed7a0ea54..175d2800e4c7a 100644
--- a/pkgs/development/tools/language-servers/ccls/default.nix
+++ b/pkgs/development/tools/language-servers/ccls/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A c/c++ language server powered by clang";
+    description = "C/c++ language server powered by clang";
     mainProgram = "ccls";
     homepage    = "https://github.com/MaskRay/ccls";
     license     = licenses.asl20;
diff --git a/pkgs/development/tools/language-servers/crystalline/default.nix b/pkgs/development/tools/language-servers/crystalline/default.nix
index aaff50d67190b..3687d1fc57a96 100644
--- a/pkgs/development/tools/language-servers/crystalline/default.nix
+++ b/pkgs/development/tools/language-servers/crystalline/default.nix
@@ -7,7 +7,7 @@
 }:
 
 let
-  version = "0.12.2";
+  version = "0.13.1";
 in
 crystal.buildCrystalPackage {
   pname = "crystalline";
@@ -17,7 +17,7 @@ crystal.buildCrystalPackage {
     owner = "elbywan";
     repo = "crystalline";
     rev = "v${version}";
-    hash = "sha256-9CXWw7Jye5XZzPdzz+Dnvyy7Wk1ENM0an8vOFrPbESA=";
+    hash = "sha256-Exv83jmSyhJv90Oo4oApZwNgNjy7tOKxLNh7yJIbfws=";
   };
 
   format = "crystal";
@@ -40,7 +40,7 @@ crystal.buildCrystalPackage {
   '';
 
   meta = with lib; {
-    description = "A Language Server Protocol implementation for Crystal";
+    description = "Language Server Protocol implementation for Crystal";
     mainProgram = "crystalline";
     homepage = "https://github.com/elbywan/crystalline";
     license = licenses.mit;
diff --git a/pkgs/development/tools/language-servers/csharp-ls/default.nix b/pkgs/development/tools/language-servers/csharp-ls/default.nix
index dd8643b7cd949..0972bac8c8486 100644
--- a/pkgs/development/tools/language-servers/csharp-ls/default.nix
+++ b/pkgs/development/tools/language-servers/csharp-ls/default.nix
@@ -8,9 +8,9 @@ in
 
 buildDotnetGlobalTool rec {
   pname = "csharp-ls";
-  version = "0.12.0";
+  version = "0.14.0";
 
-  nugetSha256 = "sha256-JQPIFgVisw/rRUcWpRGrFI3S67f5mOl0CWG1i8BlsXQ=";
+  nugetSha256 = "sha256-agcx7VPIqGhl3NzdGLPwXYJsRuvSjL4SdbNg9vFjIh4=";
 
   dotnet-sdk = sdk_8_0;
   dotnet-runtime = sdk_8_0;
diff --git a/pkgs/development/tools/language-servers/dockerfile-language-server-nodejs/default.nix b/pkgs/development/tools/language-servers/dockerfile-language-server-nodejs/default.nix
index f8f0043650f0d..8c96dd227d7c4 100644
--- a/pkgs/development/tools/language-servers/dockerfile-language-server-nodejs/default.nix
+++ b/pkgs/development/tools/language-servers/dockerfile-language-server-nodejs/default.nix
@@ -22,7 +22,7 @@ buildNpmPackage rec {
 
   meta = {
     changelog = "https://github.com/rcjsuen/dockerfile-language-server-nodejs/blob/${src.rev}/CHANGELOG.md";
-    description = "A language server for Dockerfiles powered by Node.js, TypeScript, and VSCode technologies";
+    description = "Language server for Dockerfiles powered by Node.js, TypeScript, and VSCode technologies";
     homepage = "https://github.com/rcjsuen/dockerfile-language-server-nodejs";
     license = lib.licenses.mit;
     mainProgram = "docker-langserver";
diff --git a/pkgs/development/tools/language-servers/dot-language-server/default.nix b/pkgs/development/tools/language-servers/dot-language-server/default.nix
index cdadfd77a2ecc..98d76d8d1aaab 100644
--- a/pkgs/development/tools/language-servers/dot-language-server/default.nix
+++ b/pkgs/development/tools/language-servers/dot-language-server/default.nix
@@ -16,7 +16,7 @@ buildNpmPackage rec {
   npmBuildScript = "compile";
 
   meta = with lib; {
-    description = "A language server for the DOT language";
+    description = "Language server for the DOT language";
     mainProgram = "dot-language-server";
     homepage = "https://github.com/nikeee/dot-language-server";
     license = licenses.mit;
diff --git a/pkgs/development/tools/language-servers/emmet-language-server/default.nix b/pkgs/development/tools/language-servers/emmet-language-server/default.nix
index 09e08aa6477b4..b6f32643376d0 100644
--- a/pkgs/development/tools/language-servers/emmet-language-server/default.nix
+++ b/pkgs/development/tools/language-servers/emmet-language-server/default.nix
@@ -22,7 +22,7 @@ buildNpmPackage rec {
   '';
 
   meta = with lib; {
-    description = "A language server for emmet.io";
+    description = "Language server for emmet.io";
     homepage = "https://github.com/olrtg/emmet-language-server";
     changelog = "https://github.com/olrtg/emmet-language-server/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/language-servers/fortls/default.nix b/pkgs/development/tools/language-servers/fortls/default.nix
index 1fc614150b542..f7fef66761024 100644
--- a/pkgs/development/tools/language-servers/fortls/default.nix
+++ b/pkgs/development/tools/language-servers/fortls/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonApplication rec {
   pname = "fortls";
-  version = "2.13.0";
+  version = "3.1.2";
 
   src = fetchFromGitHub {
     owner = "fortran-lang";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-kFk2Dlnb0FXM3Ysvsy+g2AAMgpWmwzxuyJPovDm/FJU=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-mOYPtysPj+JczRPTeM1DUckAH0XC9cO1ssP8pviYa0E=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/tools/language-servers/glslls/default.nix b/pkgs/development/tools/language-servers/glslls/default.nix
index 3c282f1a23d1a..0e78dd8502f75 100644
--- a/pkgs/development/tools/language-servers/glslls/default.nix
+++ b/pkgs/development/tools/language-servers/glslls/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   meta = {
-    description = "A language server implementation for GLSL";
+    description = "Language server implementation for GLSL";
     mainProgram = "glslls";
     homepage = "https://github.com/svenstaro/glsl-language-server";
     license = lib.licenses.mit;
diff --git a/pkgs/development/tools/language-servers/gopls/default.nix b/pkgs/development/tools/language-servers/gopls/default.nix
index b489f0ba8f6f6..9c1203486e797 100644
--- a/pkgs/development/tools/language-servers/gopls/default.nix
+++ b/pkgs/development/tools/language-servers/gopls/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "gopls";
-  version = "0.15.3";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "tools";
     rev = "gopls/v${version}";
-    hash = "sha256-JUqw2qJFxiuZyXgrmirrOuwG9mtcW1e1+SS0CaZY8VA=";
+    hash = "sha256-X5XBYTD+DIbHFBMWkLGosZUORexYt83mML/akUzrnFk=";
   };
 
   modRoot = "gopls";
-  vendorHash = "sha256-j2jMkVvsZ6UjcziSKtxGfwr7eRiTlEPW7LQCaEIa3I0=";
+  vendorHash = "sha256-XH3kSfnlwmbOLkWJCjKmU1ghCkarn23M0q0vJQHkCe0=";
 
   # https://github.com/golang/tools/blob/9ed98faa/gopls/main.go#L27-L30
   ldflags = [ "-X main.version=v${version}" ];
diff --git a/pkgs/development/tools/language-servers/helm-ls/default.nix b/pkgs/development/tools/language-servers/helm-ls/default.nix
index 337e45153f551..73f2facc840e8 100644
--- a/pkgs/development/tools/language-servers/helm-ls/default.nix
+++ b/pkgs/development/tools/language-servers/helm-ls/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "helm-ls";
-  version = "0.0.15";
+  version = "0.0.17";
 
   src = fetchFromGitHub {
     owner = "mrjosh";
     repo = "helm-ls";
     rev = "v${version}";
-    hash = "sha256-RRpPmpwEHrORVVXn3mVgGcOAI7nmyrl+gwIuGXAZglY=";
+    hash = "sha256-c72QFlsCPBW4biTMh1nxQIEkKPjmSmxOD93Kzduswyo=";
   };
 
-  vendorHash = "sha256-pV1FYhBLP0goetSr9v9iqXbeFTUHLdiIQ3ixqOsmp+Q=";
+  vendorHash = "sha256-jGC8JNlorw0FSc0HhFdUVZJDCNaX4PWPaFKRklufIsQ=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/language-servers/jq-lsp/default.nix b/pkgs/development/tools/language-servers/jq-lsp/default.nix
index 6952bea00d63e..ad43af981e394 100644
--- a/pkgs/development/tools/language-servers/jq-lsp/default.nix
+++ b/pkgs/development/tools/language-servers/jq-lsp/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "jq-lsp";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "wader";
     repo = "jq-lsp";
     rev = "refs/tags/v${version}";
-    hash = "sha256-a3ZqVWG7kjWQzL1efrKc4s4D14qD/+6JM26vaduxhWg=";
+    hash = "sha256-c7uK8WPM/h2PLVLFGeN66SztvzjBCgJje7L14+oErVU=";
   };
 
-  vendorHash = "sha256-bIe006I1ryvIJ4hC94Ux2YVdlmDIM4oZaK/qXafYYe0=";
+  vendorHash = "sha256-8sZGnoP7l09ZzLJqq8TUCquTOPF0qiwZcFhojUnnEIY=";
 
   # based on https://github.com/wader/jq-lsp/blob/master/.goreleaser.yml
   CGO_ENABLED = 0;
diff --git a/pkgs/development/tools/language-servers/lua-language-server/default.nix b/pkgs/development/tools/language-servers/lua-language-server/default.nix
index f20ed09ac6967..8bdcd20cdb53b 100644
--- a/pkgs/development/tools/language-servers/lua-language-server/default.nix
+++ b/pkgs/development/tools/language-servers/lua-language-server/default.nix
@@ -1,14 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, ninja, makeWrapper, CoreFoundation, Foundation, ditto }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  ninja,
+  makeWrapper,
+  CoreFoundation,
+  Foundation,
+  ditto,
+  nix-update-script,
+}:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lua-language-server";
-  version = "3.8.3";
+  version = "3.9.3";
 
   src = fetchFromGitHub {
     owner = "luals";
     repo = "lua-language-server";
     rev = finalAttrs.version;
-    hash = "sha256-Zl57KmsAuyMWbcKnU19m7ljox/LqWsa6gXbjaWiznfg=";
+    hash = "sha256-o3NRiJF9Cl420TYOZXC3JplKW5MYo/6nc0XPdukaly4=";
     fetchSubmodules = true;
   };
 
@@ -23,29 +33,29 @@ stdenv.mkDerivation (finalAttrs: {
     ditto
   ];
 
-  postPatch = ''
-    # filewatch tests are failing on darwin
-    # this feature is not used in lua-language-server
-    sed -i /filewatch/d 3rd/bee.lua/test/test.lua
-
-    pushd 3rd/luamake
-  '' + lib.optionalString stdenv.isDarwin ''
-    # This package uses the program clang for C and C++ files. The language
-    # is selected via the command line argument -std, but this do not work
-    # in combination with the nixpkgs clang wrapper. Therefor we have to
-    # find all c++ compiler statements and replace $cc (which expands to
-    # clang) with clang++.
-    sed -i compile/ninja/macos.ninja \
-      -e '/c++/s,$cc,clang++,' \
-      -e '/test.lua/s,= .*,= true,' \
-      -e '/ldl/s,$cc,clang++,'
-    sed -i scripts/compiler/gcc.lua \
-      -e '/cxx_/s,$cc,clang++,'
-  '';
+  postPatch =
+    ''
+      # filewatch tests are failing on darwin
+      # this feature is not used in lua-language-server
+      sed -i /filewatch/d 3rd/bee.lua/test/test.lua
 
-  ninjaFlags = [
-    "-fcompile/ninja/${if stdenv.isDarwin then "macos" else "linux"}.ninja"
-  ];
+      pushd 3rd/luamake
+    ''
+    + lib.optionalString stdenv.isDarwin ''
+      # This package uses the program clang for C and C++ files. The language
+      # is selected via the command line argument -std, but this do not work
+      # in combination with the nixpkgs clang wrapper. Therefor we have to
+      # find all c++ compiler statements and replace $cc (which expands to
+      # clang) with clang++.
+      sed -i compile/ninja/macos.ninja \
+        -e '/c++/s,$cc,clang++,' \
+        -e '/test.lua/s,= .*,= true,' \
+        -e '/ldl/s,$cc,clang++,'
+      sed -i scripts/compiler/gcc.lua \
+        -e '/cxx_/s,$cc,clang++,'
+    '';
+
+  ninjaFlags = [ "-fcompile/ninja/${if stdenv.isDarwin then "macos" else "linux"}.ninja" ];
 
   postBuild = ''
     popd
@@ -75,12 +85,18 @@ stdenv.mkDerivation (finalAttrs: {
   # some tests require local networking
   __darwinAllowLocalNetworking = true;
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
-    description = "A language server that offers Lua language support";
+    description = "Language server that offers Lua language support";
     homepage = "https://github.com/luals/lua-language-server";
     changelog = "https://github.com/LuaLS/lua-language-server/blob/${finalAttrs.version}/changelog.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ figsoda gepbird sei40kr ];
+    maintainers = with maintainers; [
+      figsoda
+      gepbird
+      sei40kr
+    ];
     mainProgram = "lua-language-server";
     platforms = platforms.linux ++ platforms.darwin;
   };
diff --git a/pkgs/development/tools/language-servers/metals/default.nix b/pkgs/development/tools/language-servers/metals/default.nix
index 5f9d87d839d6f..bfb8561f6caa8 100644
--- a/pkgs/development/tools/language-servers/metals/default.nix
+++ b/pkgs/development/tools/language-servers/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "1.3.0";
+  version = "1.3.1";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "sha256-otN4sqV2a0itLOoJ7x+VSMe0tl3y4WVovbA1HOpZVDw=";
+    outputHash = "sha256-ugTYjXgD5SHagRtc1RNsnfcLAXPeWSHcos82ewr3UIs=";
   };
 
   nativeBuildInputs = [ makeWrapper setJavaClassPath ];
diff --git a/pkgs/development/tools/language-servers/millet/default.nix b/pkgs/development/tools/language-servers/millet/default.nix
index 7de1523491bdb..6ff7bb4c11ec6 100644
--- a/pkgs/development/tools/language-servers/millet/default.nix
+++ b/pkgs/development/tools/language-servers/millet/default.nix
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
   cargoTestFlags = [ "--package" "millet-ls" ];
 
   meta = with lib; {
-    description = "A language server for Standard ML";
+    description = "Language server for Standard ML";
     homepage = "https://github.com/azdavis/millet";
     changelog = "https://github.com/azdavis/millet/blob/v${version}/docs/CHANGELOG.md";
     license = [ licenses.mit /* or */ licenses.asl20 ];
diff --git a/pkgs/development/tools/language-servers/neocmakelsp/default.nix b/pkgs/development/tools/language-servers/neocmakelsp/default.nix
index 547693200cf0e..a8d0e373a110d 100644
--- a/pkgs/development/tools/language-servers/neocmakelsp/default.nix
+++ b/pkgs/development/tools/language-servers/neocmakelsp/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "neocmakelsp";
-  version = "0.6.23";
+  version = "0.7.6";
 
   src = fetchFromGitHub {
     owner = "Decodetalkers";
     repo = "neocmakelsp";
     rev = "v${version}";
-    hash = "sha256-o35uoyrMBxKy31I56j7PAuNP/pyB51VRMp8Ip9vRXdU=";
+    hash = "sha256-V8bbJg7h/TCv0y8Kwz3h6XMKtxKjJKduCj9e1vcd6AQ=";
   };
 
-  cargoHash = "sha256-eMMJTY96S27mxpcS44UfvS695ImlhX/E2wuldcPVUtc=";
+  cargoHash = "sha256-kR4QJ1QFewI5jKPX9/P1z5J9hnWBIhWExF6JgmDzoJw=";
 
   meta = with lib; {
-    description = "A cmake lsp based on tower-lsp and treesitter";
+    description = "Cmake lsp based on tower-lsp and treesitter";
     homepage = "https://github.com/Decodetalkers/neocmakelsp";
     license = licenses.mit;
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/language-servers/nixd/default.nix b/pkgs/development/tools/language-servers/nixd/default.nix
index 86325a6815b37..6803b0761c1b1 100644
--- a/pkgs/development/tools/language-servers/nixd/default.nix
+++ b/pkgs/development/tools/language-servers/nixd/default.nix
@@ -1,103 +1,153 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, nix-update-script
-, bison
-, boost182
-, flex
-, fmt
-, gtest
-, libbacktrace
-, lit
-, llvmPackages
-, meson
-, ninja
-, nix
-, nixpkgs-fmt
-, pkg-config
-, testers
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  boost182,
+  gtest,
+  llvmPackages,
+  meson,
+  ninja,
+  nix,
+  nix-update-script,
+  nixd,
+  nixf,
+  nixt,
+  nlohmann_json,
+  pkg-config,
+  testers,
 }:
 
-stdenv.mkDerivation (finalAttrs: {
-  pname = "nixd";
-  version = "2.1.2";
+let
+  common = rec {
+    version = "2.2.1";
 
-  src = fetchFromGitHub {
-    owner = "nix-community";
-    repo = "nixd";
-    rev = finalAttrs.version;
-    hash = "sha256-A6hoZ4fbWxd7Mx+r3e1HEw2IPaAn4WcMEIocy/ZCz28=";
-  };
-
-  mesonBuildType = "release";
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    bison
-    flex
-  ];
-
-  nativeCheckInputs = [
-    lit
-    nixpkgs-fmt
-  ];
-
-  buildInputs = [
-    libbacktrace
-    nix
-    fmt
-    gtest
-    boost182
-    llvmPackages.llvm
-  ];
-
-  env.CXXFLAGS = "-include ${nix.dev}/include/nix/config.h";
-
-  # https://github.com/nix-community/nixd/issues/215
-  doCheck = !stdenv.isDarwin;
-
-  checkPhase = ''
-    runHook preCheck
-    dirs=(store var var/nix var/log/nix etc home)
-
-    for dir in $dirs; do
-      mkdir -p "$TMPDIR/$dir"
-    done
-
-    export NIX_STORE_DIR=$TMPDIR/store
-    export NIX_LOCALSTATE_DIR=$TMPDIR/var
-    export NIX_STATE_DIR=$TMPDIR/var/nix
-    export NIX_LOG_DIR=$TMPDIR/var/log/nix
-    export NIX_CONF_DIR=$TMPDIR/etc
-    export HOME=$TMPDIR/home
-
-    # Disable nixd regression tests, because it uses some features provided by
-    # nix, and does not correctly work in the sandbox
-    meson test --print-errorlogs  unit/libnixf/Basic unit/libnixf/Parse unit/libnixt
-    runHook postCheck
-  '';
-
-  passthru.updateScript = nix-update-script { };
-
-  passthru.tests = {
-    version = testers.testVersion {
-      package = finalAttrs.finalPackage;
+    src = fetchFromGitHub {
+      owner = "nix-community";
+      repo = "nixd";
+      rev = version;
+      hash = "sha256-Y5MB3BQBRkSe+10enlric1GTmJCN36clbOSos6fzoRM=";
     };
-    pkg-config = testers.hasPkgConfigModules {
-      package = finalAttrs.finalPackage;
-      moduleNames = [ "libnixf" "libnixt" ];
+
+    nativeBuildInputs = [
+      meson
+      ninja
+      pkg-config
+    ];
+
+    mesonBuildType = "release";
+
+    strictDeps = true;
+
+    doCheck = true;
+
+    meta = {
+      homepage = "https://github.com/nix-community/nixd";
+      changelog = "https://github.com/nix-community/nixd/releases/tag/${version}";
+      license = lib.licenses.lgpl3Plus;
+      maintainers = with lib.maintainers; [
+        inclyc
+        Ruixi-rebirth
+        aleksana
+      ];
+      platforms = lib.platforms.unix;
     };
   };
+in
+{
+  nixf = stdenv.mkDerivation (
+    common
+    // {
+      pname = "nixf";
 
-  meta = {
-    description = "Nix language server";
-    homepage = "https://github.com/nix-community/nixd";
-    changelog = "https://github.com/nix-community/nixd/releases/tag/${finalAttrs.version}";
-    license = lib.licenses.lgpl3Plus;
-    maintainers = with lib.maintainers; [ inclyc Ruixi-rebirth ];
-    mainProgram = "nixd";
-    platforms = lib.platforms.unix;
-  };
-})
+      sourceRoot = "${common.src.name}/libnixf";
+
+      outputs = [
+        "out"
+        "dev"
+      ];
+
+      buildInputs = [
+        gtest
+        boost182
+        nlohmann_json
+      ];
+
+      passthru.tests.pkg-config = testers.hasPkgConfigModules {
+        package = nixf;
+        moduleNames = [ "nixf" ];
+      };
+
+      meta = common.meta // {
+        description = "Nix language frontend, parser & semantic analysis";
+        mainProgram = "nixf-tidy";
+      };
+    }
+  );
+
+  nixt = stdenv.mkDerivation (
+    common
+    // {
+      pname = "nixt";
+
+      sourceRoot = "${common.src.name}/libnixt";
+
+      outputs = [
+        "out"
+        "dev"
+      ];
+
+      buildInputs = [
+        nix
+        gtest
+        boost182
+      ];
+
+      env.CXXFLAGS = "-include ${nix.dev}/include/nix/config.h";
+
+      passthru.tests.pkg-config = testers.hasPkgConfigModules {
+        package = nixt;
+        moduleNames = [ "nixt" ];
+      };
+
+      meta = common.meta // {
+        description = "Supporting library that wraps C++ nix";
+      };
+    }
+  );
+
+  nixd = stdenv.mkDerivation (
+    common
+    // {
+      pname = "nixd";
+
+      sourceRoot = "${common.src.name}/nixd";
+
+      buildInputs = [
+        nix
+        nixf
+        nixt
+        llvmPackages.llvm
+        gtest
+        boost182
+      ];
+
+      nativeBuildInputs = common.nativeBuildInputs ++ [ cmake ];
+
+      env.CXXFLAGS = "-include ${nix.dev}/include/nix/config.h";
+
+      # See https://github.com/nix-community/nixd/issues/519
+      doCheck = false;
+
+      passthru = {
+        updateScript = nix-update-script { };
+        tests.version = testers.testVersion { package = nixd; };
+      };
+
+      meta = common.meta // {
+        description = "Feature-rich Nix language server interoperating with C++ nix";
+        mainProgram = "nixd";
+      };
+    }
+  );
+}
diff --git a/pkgs/development/tools/language-servers/openscad-lsp/default.nix b/pkgs/development/tools/language-servers/openscad-lsp/default.nix
index 5b93b979cf3d1..9991f9571d35f 100644
--- a/pkgs/development/tools/language-servers/openscad-lsp/default.nix
+++ b/pkgs/development/tools/language-servers/openscad-lsp/default.nix
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A LSP (Language Server Protocol) server for OpenSCAD";
+    description = "LSP (Language Server Protocol) server for OpenSCAD";
     mainProgram = "openscad-lsp";
     homepage = "https://github.com/Leathong/openscad-LSP";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/language-servers/perlnavigator/default.nix b/pkgs/development/tools/language-servers/perlnavigator/default.nix
index adaa30747f6ef..a7d243888587c 100644
--- a/pkgs/development/tools/language-servers/perlnavigator/default.nix
+++ b/pkgs/development/tools/language-servers/perlnavigator/default.nix
@@ -75,6 +75,6 @@ in buildNpmPackage rec {
     homepage = "https://github.com/bscan/PerlNavigator/tree/main/server";
     license = lib.licenses.mit;
     mainProgram = "perlnavigator";
-    maintainers = with lib.maintainers; [ wolfangaukang ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/language-servers/postgres-lsp/default.nix b/pkgs/development/tools/language-servers/postgres-lsp/default.nix
index 33855391ea5ab..b267442cae830 100644
--- a/pkgs/development/tools/language-servers/postgres-lsp/default.nix
+++ b/pkgs/development/tools/language-servers/postgres-lsp/default.nix
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
   RUSTC_BOOTSTRAP = 1; # We need rust unstable features
 
   meta = with lib; {
-    description = "A Language Server for Postgres";
+    description = "Language Server for Postgres";
     homepage = "https://github.com/supabase/postgres_lsp";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/development/tools/language-servers/pylyzer/Cargo.lock b/pkgs/development/tools/language-servers/pylyzer/Cargo.lock
index 49986d256fd90..6127a15eead72 100644
--- a/pkgs/development/tools/language-servers/pylyzer/Cargo.lock
+++ b/pkgs/development/tools/language-servers/pylyzer/Cargo.lock
@@ -124,9 +124,9 @@ checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
 name = "els"
-version = "0.1.48-nightly.0"
+version = "0.1.48-nightly.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fc7d9b7e85dd36847b2e3fcb4a400c1f25a49c7ecfa0e9f25bdad91070cba32"
+checksum = "d1160cfdc48996a3f0f1e8e5b2d060e48ab7245e3931eef154fe0afc4de6d55e"
 dependencies = [
  "erg_common",
  "erg_compiler",
@@ -138,9 +138,9 @@ dependencies = [
 
 [[package]]
 name = "erg_common"
-version = "0.6.36-nightly.0"
+version = "0.6.36-nightly.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e25256e6a5de7886319cf6bc830b92b04a9f722eac3fdf43a82fc9d43e9336a1"
+checksum = "f19dd94255e83e016cd6d7cd18e99e9c927e2144cf9d17e759271c40c6cf1dcd"
 dependencies = [
  "backtrace-on-stack-overflow",
  "erg_proc_macros",
@@ -150,9 +150,9 @@ dependencies = [
 
 [[package]]
 name = "erg_compiler"
-version = "0.6.36-nightly.0"
+version = "0.6.36-nightly.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d224db567e7d13a30a52f7178623434922d781d8bc4310c7adae7052ec21cb18"
+checksum = "0c4712faf4c949016d752e7d697dab1df44043eaf94bea5a2ada73b1ab70dfe0"
 dependencies = [
  "erg_common",
  "erg_parser",
@@ -160,9 +160,9 @@ dependencies = [
 
 [[package]]
 name = "erg_parser"
-version = "0.6.36-nightly.0"
+version = "0.6.36-nightly.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16ba6fbccd31c15bc032fbd52be75b7965f10a192adfed440e2d961bdd52e47f"
+checksum = "791e826192978d665e46aa30aa7330ef470b90e6e5ebe38c2b32a2a4141bc919"
 dependencies = [
  "erg_common",
  "erg_proc_macros",
@@ -171,9 +171,9 @@ dependencies = [
 
 [[package]]
 name = "erg_proc_macros"
-version = "0.6.36-nightly.0"
+version = "0.6.36-nightly.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40f73fb45d76f14edb6076c1b0bbd0c9ee7531663595674dd6ae667d13fed769"
+checksum = "119857fa1bb184c6b2adba2e3b2a71797f6c7865bc6d4fdddac988fda9e55b77"
 dependencies = [
  "quote",
  "syn 1.0.109",
@@ -536,7 +536,7 @@ dependencies = [
 
 [[package]]
 name = "py2erg"
-version = "0.0.53"
+version = "0.0.54"
 dependencies = [
  "erg_common",
  "erg_compiler",
@@ -546,7 +546,7 @@ dependencies = [
 
 [[package]]
 name = "pylyzer"
-version = "0.0.53"
+version = "0.0.54"
 dependencies = [
  "els",
  "erg_common",
diff --git a/pkgs/development/tools/language-servers/pylyzer/default.nix b/pkgs/development/tools/language-servers/pylyzer/default.nix
index 97e927d3f442e..95814084800d5 100644
--- a/pkgs/development/tools/language-servers/pylyzer/default.nix
+++ b/pkgs/development/tools/language-servers/pylyzer/default.nix
@@ -12,13 +12,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pylyzer";
-  version = "0.0.53";
+  version = "0.0.54";
 
   src = fetchFromGitHub {
     owner = "mtshiba";
     repo = "pylyzer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-x/52dDNuMOoN0gbBTPEhXZpfdVk0kJaBv9tMsh2pOiA=";
+    hash = "sha256-GUZMzV0yztlLcxvuTAuRoQ4eQhoMMyqjdu3cfOCJCJE=";
   };
 
   cargoLock = {
@@ -66,7 +66,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A fast static code analyzer & language server for Python";
+    description = "Fast static code analyzer & language server for Python";
     homepage = "https://github.com/mtshiba/pylyzer";
     changelog = "https://github.com/mtshiba/pylyzer/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/language-servers/ruff-lsp/default.nix b/pkgs/development/tools/language-servers/ruff-lsp/default.nix
index 4cfcb4c6e0648..cf14e02435448 100644
--- a/pkgs/development/tools/language-servers/ruff-lsp/default.nix
+++ b/pkgs/development/tools/language-servers/ruff-lsp/default.nix
@@ -65,7 +65,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     changelog = "https://github.com/astral-sh/ruff-lsp/releases/tag/v${version}";
-    description = "A Language Server Protocol implementation for Ruff";
+    description = "Language Server Protocol implementation for Ruff";
     homepage = "https://github.com/astral-sh/ruff-lsp";
     license = licenses.mit;
     mainProgram = "ruff-lsp";
diff --git a/pkgs/development/tools/language-servers/rune-languageserver/default.nix b/pkgs/development/tools/language-servers/rune-languageserver/default.nix
index 32bec82979e9c..3ae9c3ac43be4 100644
--- a/pkgs/development/tools/language-servers/rune-languageserver/default.nix
+++ b/pkgs/development/tools/language-servers/rune-languageserver/default.nix
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A language server for the Rune Language, an embeddable dynamic programming language for Rust";
+    description = "Language server for the Rune Language, an embeddable dynamic programming language for Rust";
     homepage = "https://crates.io/crates/rune-languageserver";
     changelog = "https://github.com/rune-rs/rune/releases/tag/${version}";
     license = with licenses; [ asl20 mit ];
diff --git a/pkgs/development/tools/language-servers/svls/default.nix b/pkgs/development/tools/language-servers/svls/default.nix
index fc4ebb51e1ca9..6faefffee2f5f 100644
--- a/pkgs/development/tools/language-servers/svls/default.nix
+++ b/pkgs/development/tools/language-servers/svls/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svls";
-  version = "0.2.11";
+  version = "0.2.12";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = "svls";
     rev = "v${version}";
-    sha256 = "sha256-pvvtJOwb9N7CzCXoLG19iuLQjABABaOUe6wKfYizgQc=";
+    sha256 = "sha256-DuwH0qie8SctvOGntljOdTRMGKrNFPycdaFG3QZxihA=";
   };
 
-  cargoHash = "sha256-sMprdvBSfCIzoTHyUC447pyZWGgZkKa9t3A9BiGbQvY=";
+  cargoHash = "sha256-vDpuIWB5pbhYrFgQ1ogALMJpZvy8ETZtneX1fjpjl+0=";
 
   meta = with lib; {
     description = "SystemVerilog language server";
diff --git a/pkgs/development/tools/language-servers/typst-lsp/default.nix b/pkgs/development/tools/language-servers/typst-lsp/default.nix
index 1945a71863a7b..59b81f5989f0f 100644
--- a/pkgs/development/tools/language-servers/typst-lsp/default.nix
+++ b/pkgs/development/tools/language-servers/typst-lsp/default.nix
@@ -45,7 +45,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A brand-new language server for Typst";
+    description = "Brand-new language server for Typst";
     homepage = "https://github.com/nvarner/typst-lsp";
     mainProgram = "typst-lsp";
     changelog = "https://github.com/nvarner/typst-lsp/releases/tag/${src.rev}";
diff --git a/pkgs/development/tools/language-servers/verible/default.nix b/pkgs/development/tools/language-servers/verible/default.nix
index 4809b85e2e5be..6e6c7d621cbd0 100644
--- a/pkgs/development/tools/language-servers/verible/default.nix
+++ b/pkgs/development/tools/language-servers/verible/default.nix
@@ -87,7 +87,7 @@ buildBazelPackage rec {
   };
 
   meta = with lib; {
-    description = "Suite of SystemVerilog developer tools. Including a style-linter, indexer, formatter, and language server.";
+    description = "Suite of SystemVerilog developer tools. Including a style-linter, indexer, formatter, and language server";
     homepage = "https://github.com/chipsalliance/verible";
     license = licenses.asl20;
     maintainers = with maintainers; [ hzeller newam ];
diff --git a/pkgs/development/tools/language-servers/vhdl-ls/default.nix b/pkgs/development/tools/language-servers/vhdl-ls/default.nix
index f879e400896a4..dabd9484499aa 100644
--- a/pkgs/development/tools/language-servers/vhdl-ls/default.nix
+++ b/pkgs/development/tools/language-servers/vhdl-ls/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vhdl-ls";
-  version = "0.80.0";
+  version = "0.81.0";
 
   src = fetchFromGitHub {
     owner = "VHDL-LS";
     repo = "rust_hdl";
     rev = "v${version}";
-    hash = "sha256-3p6SmmNnuPoHbA0QmfgvO342AhRx5dI9q4YXypi/2k0=";
+    hash = "sha256-iF8HIfxC7WM5YT85HfCTM5hu5yCFnHpDposGDAO3qJI=";
   };
 
-  cargoHash = "sha256-zAz33P5k6wmQej8u45+lXKHSRVaZhrB5L0jUPjs44W8=";
+  cargoHash = "sha256-hkmaMzeQLd3l6A3xyLAZk+MrEeUKPd7H2N4Nsz7nBmk=";
 
   postPatch = ''
     substituteInPlace vhdl_lang/src/config.rs \
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = {
-    description = "A fast VHDL language server";
+    description = "Fast VHDL language server";
     homepage = "https://github.com/VHDL-LS/rust_hdl";
     license = lib.licenses.mpl20;
     mainProgram = "vhdl_ls";
diff --git a/pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix b/pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix
index aa77056416151..9046d75880114 100644
--- a/pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix
+++ b/pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "vscode-langservers-extracted";
-  version = "4.8.0";
+  version = "4.10.0";
 
   src = fetchFromGitHub {
     owner = "hrsh7th";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-sGnxmEQ0J74zNbhRpsgF/cYoXwn4jh9yBVjk6UiUdK0=";
+    hash = "sha256-3m9+HZY24xdlLcFKY/5DfvftqprwLJk0vve2ZO1aEWk=";
   };
 
-  npmDepsHash = "sha256-LFWC87Ahvjf2moijayFze1Jk0TmTc7rOUd/s489PHro=";
+  npmDepsHash = "sha256-XGlFtmikUrnnWXsAYzTqw2K7Y2O0bUtYug0xXFIASBQ=";
 
   buildPhase =
     let
diff --git a/pkgs/development/tools/language-servers/yaml-language-server/default.nix b/pkgs/development/tools/language-servers/yaml-language-server/default.nix
index 080b39dcf46e5..90aae9d0d82bf 100644
--- a/pkgs/development/tools/language-servers/yaml-language-server/default.nix
+++ b/pkgs/development/tools/language-servers/yaml-language-server/default.nix
@@ -6,13 +6,13 @@
 
 mkYarnPackage rec {
   pname = "yaml-language-server";
-  version = "1.14.0";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "redhat-developer";
     repo = "yaml-language-server";
     rev = version;
-    hash = "sha256-DS5kMw/x8hP2MzxHdHXnBqqBGLq21NiZBb5ApjEe/ts=";
+    hash = "sha256-Y3Q/y9UIiy7US8Jl4vxT0Pfw8h3hiXK+Cu9TEQHyAaA=";
   };
 
   packageJSON = ./package.json;
@@ -36,6 +36,6 @@ mkYarnPackage rec {
     homepage = "https://github.com/redhat-developer/yaml-language-server";
     license = lib.licenses.mit;
     mainProgram = "yaml-language-server";
-    maintainers = with lib.maintainers; [ wolfangaukang ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/language-servers/yaml-language-server/package.json b/pkgs/development/tools/language-servers/yaml-language-server/package.json
index c270da41f4df5..62be0e23edba0 100644
--- a/pkgs/development/tools/language-servers/yaml-language-server/package.json
+++ b/pkgs/development/tools/language-servers/yaml-language-server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "yaml-language-server",
   "description": "YAML language server",
-  "version": "1.14.0",
+  "version": "1.15.0",
   "author": "Gorkem Ercan (Red Hat)",
   "license": "MIT",
   "contributors": [
diff --git a/pkgs/development/tools/language-servers/zls/default.nix b/pkgs/development/tools/language-servers/zls/default.nix
index 71a9a53a3fee5..1642d495b1d88 100644
--- a/pkgs/development/tools/language-servers/zls/default.nix
+++ b/pkgs/development/tools/language-servers/zls/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchurl
 , zig_0_12
 , callPackage
 }:
diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix
index 4ed99c20ebf70..b5f1d5d4a64eb 100644
--- a/pkgs/development/tools/lazygit/default.nix
+++ b/pkgs/development/tools/lazygit/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lazygit";
-  version = "0.41.0";
+  version = "0.42.0";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Ok6QnXw3oDeSzBekft8cDXM/YsADgF1NZznfNoGNvck=";
+    hash = "sha256-w5QL+CuMYyTTnNAfWF8jQuQWfjxaw7bANK69Dc+onGk=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/leaps/default.nix b/pkgs/development/tools/leaps/default.nix
index 57df58ebaf4a5..27a6cb95220cc 100644
--- a/pkgs/development/tools/leaps/default.nix
+++ b/pkgs/development/tools/leaps/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
   passthru.tests.version = testers.testVersion { package = leaps; };
 
   meta = with lib; {
-    description = "A pair programming tool and library written in Golang";
+    description = "Pair programming tool and library written in Golang";
     mainProgram = "leaps";
     homepage = "https://github.com/jeffail/leaps/";
     license = licenses.mit;
diff --git a/pkgs/development/tools/librarian-puppet-go/default.nix b/pkgs/development/tools/librarian-puppet-go/default.nix
deleted file mode 100644
index 303f6ce2ebafa..0000000000000
--- a/pkgs/development/tools/librarian-puppet-go/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, fetchFromGitHub, buildGoPackage }:
-
-buildGoPackage rec {
-  pname = "librarian-puppet-go";
-  version = "0.3.10";
-
-  goPackagePath = "github.com/tmtk75/librarian-puppet-go";
-
-  src = fetchFromGitHub {
-    owner = "tmtk75";
-    repo = "librarian-puppet-go";
-    rev = "v${version}";
-    sha256 = "sha256-IEhqyowyLTXDEhg4nkix1N45S0+k+RngMP6TsaZQ4mI=";
-  };
-
-  goDeps = ./deps.nix;
-
-  meta = with lib; {
-    inherit (src.meta) homepage;
-    description = "librarian-puppet implementation in go";
-    mainProgram = "librarian-puppet-go";
-    license = licenses.mit;
-    maintainers = with maintainers; [ womfoo ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/development/tools/librarian-puppet-go/deps.nix b/pkgs/development/tools/librarian-puppet-go/deps.nix
deleted file mode 100644
index e5729707d8abd..0000000000000
--- a/pkgs/development/tools/librarian-puppet-go/deps.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/jawher/mow.cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jawher/mow.cli";
-      rev = "3ff64ca21987cfa628bd8d1865162b7ccd6107d7";
-      sha256 = "0vws79q4x3c9kjdsin3vw5200sinkxag3bfa0n9k69svsb222bij";
-    };
-  }
-]
diff --git a/pkgs/development/tools/license_finder/default.nix b/pkgs/development/tools/license_finder/default.nix
index 954e2dcd5183d..c5ac088555658 100644
--- a/pkgs/development/tools/license_finder/default.nix
+++ b/pkgs/development/tools/license_finder/default.nix
@@ -13,7 +13,7 @@ bundlerEnv {
     description = "Find licenses for your project's dependencies";
     homepage = "https://github.com/pivotal/licensefinder";
     license = licenses.mit;
-    maintainers = with maintainers; [ wolfangaukang ];
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/literate-programming/Literate/default.nix b/pkgs/development/tools/literate-programming/Literate/default.nix
deleted file mode 100644
index b80f29f70d951..0000000000000
--- a/pkgs/development/tools/literate-programming/Literate/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{
-  lib,
-  buildDubPackage,
-  fetchFromGitHub,
-}:
-
-buildDubPackage {
-  pname = "Literate";
-  version = "unstable-2021-01-22";
-
-  src = fetchFromGitHub {
-    owner = "zyedidia";
-    repo = "Literate";
-    rev = "7004dffec0cff3068828514eca72172274fd3f7d";
-    hash = "sha256-erNFe0+FlrslEENyO/YxYQbmec0voK31UWr5qVt+nXQ=";
-    fetchSubmodules = true;
-  };
-
-  # as there aren't any non-local dub dependencies, this file just has any empty list
-  dubLock = ./dub-lock.json;
-
-  # generate the actual .d source files defined in .lit files
-  preBuild = ''
-    make d-files
-  '';
-
-  installPhase = ''
-    runHook preInstall
-    install -Dm755 bin/lit -t $out/bin
-    runHook preInstall
-  '';
-
-  meta = {
-    description = "A literate programming tool for any language";
-    homepage = "https://zyedidia.github.io/literate/";
-    license = lib.licenses.mit;
-    mainProgram = "lit";
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/tools/literate-programming/Literate/dub-lock.json b/pkgs/development/tools/literate-programming/Literate/dub-lock.json
deleted file mode 100644
index 18a1e415e5622..0000000000000
--- a/pkgs/development/tools/literate-programming/Literate/dub-lock.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  "dependencies": {}
-}
diff --git a/pkgs/development/tools/literate-programming/eweb/default.nix b/pkgs/development/tools/literate-programming/eweb/default.nix
index b0c897252b689..1a885af12187d 100644
--- a/pkgs/development/tools/literate-programming/eweb/default.nix
+++ b/pkgs/development/tools/literate-programming/eweb/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://eweb.sourceforge.net/";
-    description = "An Asciidoc-based literate programming tool, written in Python";
+    description = "Asciidoc-based literate programming tool, written in Python";
     mainProgram = "etangle.py";
     platforms = platforms.linux;
     license = licenses.gpl3Plus;
diff --git a/pkgs/development/tools/literate-programming/funnelweb/default.nix b/pkgs/development/tools/literate-programming/funnelweb/default.nix
index 94fbaa698b74d..10b4880df7cd2 100644
--- a/pkgs/development/tools/literate-programming/funnelweb/default.nix
+++ b/pkgs/development/tools/literate-programming/funnelweb/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     version = "3.20";
-    description = "A simple, reliable literate-programming macro preprocessor";
+    description = "Simple, reliable literate-programming macro preprocessor";
     mainProgram = "fw";
     homepage = "http://www.ross.net/funnelweb/";
     license = licenses.gpl2;
diff --git a/pkgs/development/tools/literate-programming/noweb/default.nix b/pkgs/development/tools/literate-programming/noweb/default.nix
index 26ce4d6891af3..d0657e935697c 100644
--- a/pkgs/development/tools/literate-programming/noweb/default.nix
+++ b/pkgs/development/tools/literate-programming/noweb/default.nix
@@ -77,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
   };
 
   meta = with lib; {
-    description = "A simple, extensible literate-programming tool";
+    description = "Simple, extensible literate-programming tool";
     homepage = "https://www.cs.tufts.edu/~nr/noweb";
     license = licenses.bsd2;
     maintainers = with maintainers; [ yurrriq ];
diff --git a/pkgs/development/tools/literate-programming/nuweb/default.nix b/pkgs/development/tools/literate-programming/nuweb/default.nix
index c63f840a15470..bc7841843a8d0 100644
--- a/pkgs/development/tools/literate-programming/nuweb/default.nix
+++ b/pkgs/development/tools/literate-programming/nuweb/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A simple literate programming tool";
+    description = "Simple literate programming tool";
     mainProgram = "nuweb";
     homepage = "https://nuweb.sourceforge.net";
     license = licenses.free;
diff --git a/pkgs/development/tools/ls-lint/default.nix b/pkgs/development/tools/ls-lint/default.nix
index 6deb41082e46b..b130e9d27dcc9 100644
--- a/pkgs/development/tools/ls-lint/default.nix
+++ b/pkgs/development/tools/ls-lint/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
   vendorHash = "sha256-qXx83jtkVzN+ydXjW4Nkz49rhSLbAS2597iuYUDsEo4=";
 
   meta = with lib; {
-    description = "An extremely fast file and directory name linter";
+    description = "Extremely fast file and directory name linter";
     mainProgram = "ls_lint";
     homepage = "https://ls-lint.org/";
     license = licenses.mit;
diff --git a/pkgs/development/tools/lurk/default.nix b/pkgs/development/tools/lurk/default.nix
index a9412f2ca6eba..2393f9336ca43 100644
--- a/pkgs/development/tools/lurk/default.nix
+++ b/pkgs/development/tools/lurk/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-Cvtg9msoYkIIlaUw4hxWy2wSrE1uORR/2R2Geq4SI4w=";
 
   meta = with lib; {
-    description = "A simple and pretty alternative to strace";
+    description = "Simple and pretty alternative to strace";
     mainProgram = "lurk";
     homepage = "https://github.com/jakwai01/lurk";
     changelog = "https://github.com/jakwai01/lurk/releases/tag/${src.rev}";
diff --git a/pkgs/development/tools/lv_img_conv/default.nix b/pkgs/development/tools/lv_img_conv/default.nix
deleted file mode 100644
index e00b960c46b92..0000000000000
--- a/pkgs/development/tools/lv_img_conv/default.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ lib
-, stdenv
-, buildNpmPackage
-, fetchFromGitHub
-, pkg-config
-, python3
-, pixman
-, libpng
-, libjpeg
-, librsvg
-, giflib
-, cairo
-, pango
-, nodePackages
-, makeWrapper
-, CoreText
-, nix-update-script
-}:
-
-buildNpmPackage rec {
-  pname = "lv_img_conv";
-  version = "0.4.0";
-
-  src = fetchFromGitHub {
-    owner = "lvgl";
-    repo = pname;
-    rev = "refs/tags/v${version}";
-    hash = "sha256-LB7NZKwrpvps1cKzRoARHL4S48gBHadvxwA6JMmm/ME=";
-  };
-
-  npmDepsHash = "sha256-uDF22wlL3BlMQ/+Wmtgyjp4CVN6sDnjqjEPB4SeQuPk=";
-
-  nativeBuildInputs = [
-    pkg-config
-    python3
-    makeWrapper
-  ];
-
-  buildInputs = [
-    pixman
-    libpng
-    libjpeg
-    librsvg
-    giflib
-    cairo
-    pango
-  ] ++ lib.optionals stdenv.isDarwin [
-    CoreText
-  ];
-
-  postInstall = ''
-    makeWrapper ${nodePackages.ts-node}/bin/ts-node $out/bin/lv_img_conv --add-flags $out/lib/node_modules/lv_img_conv/lib/cli.ts
-  '';
-
-  passthru.updateScript = nix-update-script { };
-
-  meta = with lib; {
-    changelog = "https://github.com/lvgl/lv_img_conv/releases/tag/v${version}";
-    description = "Image converter for LVGL";
-    homepage = "https://github.com/lvgl/lv_img_conv";
-    license = licenses.mit;
-    maintainers = with maintainers; [ stargate01 ];
-  };
-}
diff --git a/pkgs/development/tools/maizzle/default.nix b/pkgs/development/tools/maizzle/default.nix
index f04536f763095..a33a845e7cd3a 100644
--- a/pkgs/development/tools/maizzle/default.nix
+++ b/pkgs/development/tools/maizzle/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "maizzle";
-  version = "1.5.8";
+  version = "1.5.9";
 
   src = fetchFromGitHub {
     owner = "maizzle";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-cSAYicgCgFpJO+2vBAqfl3od7B07DTXvkW38x6y5VgM=";
+    hash = "sha256-r3HWqfm/BdOfENi5cGdau7ockvNLxnWufWcQepI/RFM=";
   };
 
-  npmDepsHash = "sha256-K9EQxqOjFzgTw/VXG2ZGF90yUzYTNl13Ssq9oiC+F7A=";
+  npmDepsHash = "sha256-WlqWOGwmSab+cJWPUFIBWuFwMK4lFQm80PoUfEIIIH8=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/development/tools/makerpm/default.nix b/pkgs/development/tools/makerpm/default.nix
index ba4d87d413423..a00d4a4d66630 100644
--- a/pkgs/development/tools/makerpm/default.nix
+++ b/pkgs/development/tools/makerpm/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/ivan-tkatchev/makerpm/";
-    description = "A clean, simple RPM packager reimplemented completely from scratch";
+    description = "Clean, simple RPM packager reimplemented completely from scratch";
     mainProgram = "makerpm";
     license = licenses.free;
     platforms = platforms.all;
diff --git a/pkgs/development/tools/mask/default.nix b/pkgs/development/tools/mask/default.nix
index 3c9d62ddd26da..aecc3fb96521e 100644
--- a/pkgs/development/tools/mask/default.nix
+++ b/pkgs/development/tools/mask/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A CLI task runner defined by a simple markdown file";
+    description = "CLI task runner defined by a simple markdown file";
     mainProgram = "mask";
     homepage = "https://github.com/jacobdeichert/mask";
     changelog = "https://github.com/jacobdeichert/mask/blob/mask/${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/melange/default.nix b/pkgs/development/tools/melange/default.nix
index 24e7584b76d3f..87fab7031e229 100644
--- a/pkgs/development/tools/melange/default.nix
+++ b/pkgs/development/tools/melange/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "melange";
-  version = "0.6.11";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "chainguard-dev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-/P85vrcKWZHXNUIlzLpc9v0I5KEL7HUyr1SM2207l7o=";
+    hash = "sha256-31v9xANoots+tAY9XErouoFDcnLXYaChRwRmZ9vdqCs=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -25,7 +25,7 @@ buildGoModule rec {
     '';
   };
 
-  vendorHash = "sha256-R1Fo4N5q00ePkddOJKauC6iDPGMYk15FIKEXqWy6ifQ=";
+  vendorHash = "sha256-jliPUJ1lSoh6QszOvz9aBs2KAJwL19dRKCVTpDLgg2s=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/metal-cli/default.nix b/pkgs/development/tools/metal-cli/default.nix
index e11a580ffb264..4702615564d04 100644
--- a/pkgs/development/tools/metal-cli/default.nix
+++ b/pkgs/development/tools/metal-cli/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "metal-cli";
-  version = "0.22.0";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "equinix";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-jnBD1MYQ3Tq/YzPEpCu5sifEUAI0cw59/NCbDLisEDo=";
+    hash = "sha256-6bdDxxY5HwYXer8R1C5b7UIXy0wdBVDYYNtTR6eHv10=";
   };
 
-  vendorHash = "sha256-dIZyBhoY6GkkMY4NQrDjVxKaOOPIdxGGRBFlTkyeFdo=";
+  vendorHash = "sha256-fNpfcBHxjPdWpfM9/OVdZ+ng13+Z/qdZE/MITTCjeC0=";
 
   ldflags = [
     "-s"
@@ -47,7 +47,7 @@ buildGoModule rec {
     homepage = "https://github.com/equinix/metal-cli/";
     changelog = "https://github.com/equinix/metal-cli/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ Br1ght0ne nshalman ];
+    maintainers = with maintainers; [ Br1ght0ne nshalman teutat3s ];
     mainProgram = "metal";
   };
 }
diff --git a/pkgs/development/tools/micronaut/default.nix b/pkgs/development/tools/micronaut/default.nix
index 0b1711283dbd3..7e9e83ea6fb3a 100644
--- a/pkgs/development/tools/micronaut/default.nix
+++ b/pkgs/development/tools/micronaut/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "micronaut";
-  version = "4.4.1";
+  version = "4.4.3";
 
   src = fetchzip {
     url = "https://github.com/micronaut-projects/micronaut-starter/releases/download/v${version}/micronaut-cli-${version}.zip";
-    sha256 = "sha256-tXXGjpf6nwx9yW9vBSi7iKlDJE+IeItcl+JE4drA7OM=";
+    sha256 = "sha256-lRZs/+oClNdSGapBDt9hROfergHi1cGeP5jlkL8LWxs=";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/pkgs/development/tools/minizinc/default.nix b/pkgs/development/tools/minizinc/default.nix
index 9859cf2c948d0..0a054fe43a1c7 100644
--- a/pkgs/development/tools/minizinc/default.nix
+++ b/pkgs/development/tools/minizinc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "minizinc";
-  version = "2.8.3";
+  version = "2.8.5";
 
   src = fetchFromGitHub {
     owner = "MiniZinc";
     repo = "libminizinc";
     rev = finalAttrs.version;
-    sha256 = "sha256-/1rMrmwx8oYuiIoaS7YjDOey4jBCTJgzrPv6U0Vid8A=";
+    sha256 = "sha256-AD5hbHnu5/gmhvk4Hzeqzvq3E/7w54ijxl9US5eATRY=";
   };
 
   nativeBuildInputs = [ bison cmake flex jq ];
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     homepage = "https://www.minizinc.org/";
-    description = "A medium-level constraint modelling language";
+    description = "Medium-level constraint modelling language";
     longDescription = ''
       MiniZinc is a medium-level constraint modelling
       language. It is high-level enough to express most
diff --git a/pkgs/development/tools/minizinc/ide.nix b/pkgs/development/tools/minizinc/ide.nix
index 42dda7c4235db..00f028c117ca4 100644
--- a/pkgs/development/tools/minizinc/ide.nix
+++ b/pkgs/development/tools/minizinc/ide.nix
@@ -5,13 +5,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "minizinc-ide";
-  version = "2.8.3";
+  version = "2.8.4";
 
   src = fetchFromGitHub {
     owner = "MiniZinc";
     repo = "MiniZincIDE";
     rev = version;
-    hash = "sha256-/x4mWjAk24s6Ax22Q15WUPLLwm7YrzwaoMIINjQr5zU=";
+    hash = "sha256-ljOtY4k0uQwb8YPH14DspofjY7kMMBu4QJ7MABYfIpA=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/tools/misc/abi-compliance-checker/default.nix b/pkgs/development/tools/misc/abi-compliance-checker/default.nix
index 3b3888861ba59..b5ccb40d5dc4f 100644
--- a/pkgs/development/tools/misc/abi-compliance-checker/default.nix
+++ b/pkgs/development/tools/misc/abi-compliance-checker/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://lvc.github.io/abi-compliance-checker";
-    description = "A tool for checking backward API/ABI compatibility of a C/C++ library";
+    description = "Tool for checking backward API/ABI compatibility of a C/C++ library";
     mainProgram = "abi-compliance-checker";
     license = licenses.lgpl21;
     maintainers = [ maintainers.bhipple ];
diff --git a/pkgs/development/tools/misc/acr/default.nix b/pkgs/development/tools/misc/acr/default.nix
index 2ddc23f51c3c0..10e6026248703 100644
--- a/pkgs/development/tools/misc/acr/default.nix
+++ b/pkgs/development/tools/misc/acr/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "acr";
-  version = "2.1.2";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "radareorg";
     repo = "acr";
     rev = finalAttrs.version;
-    hash = "sha256-xKB9zBw9sX+z/yBzvfIzQPyOHzlCAGfGLyuLGRoyWbg=";
+    hash = "sha256-RPqbL21gxM66Wjov0QVuiFJNAfia+xxF53fNdksU5fQ=";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/tools/misc/act/default.nix b/pkgs/development/tools/misc/act/default.nix
index b4b3d2f1b7442..a8c253e4333cc 100644
--- a/pkgs/development/tools/misc/act/default.nix
+++ b/pkgs/development/tools/misc/act/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "act";
-  version = "0.2.62";
+  version = "0.2.63";
 
   src = fetchFromGitHub {
     owner = "nektos";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-zHtRdwBqwQMW/M4TYA609beCrC5B4hyhtcptJSbN6M8=";
+    hash = "sha256-umYP/U1UjqWbF1YDZYbQrlMubhxr80FFBDS1NeiI9wI=";
   };
 
-  vendorHash = "sha256-+hK1qG0p7MSYACkvzTnuPvlccbHNJRRZdC/LAM1Cp2k=";
+  vendorHash = "sha256-Dt6V1zngSra4ZMSboHzreqwxgH5ovMIB+Bq3eWK6tjA=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
deleted file mode 100644
index 06c0f700ffe8c..0000000000000
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ /dev/null
@@ -1,88 +0,0 @@
-{ bison
-, cacert
-, fetchFromGitHub
-, flex
-, php
-, lib, stdenv
-, installShellFiles
-, which
-, python3
-}:
-
-# Make a custom wrapper. If `wrapProgram` is used, arcanist thinks .arc-wrapped is being
-# invoked and complains about it being an unknown toolset. We could use `makeWrapper`, but
-# then we’d need to still craft a script that does the `php libexec/arcanist/bin/...` dance
-# anyway... So just do everything at once.
-let makeArcWrapper = toolset: ''
-  cat << WRAPPER > $out/bin/${toolset}
-  #!$shell -e
-  export PATH='${php}/bin:${which}/bin'\''${PATH:+':'}\$PATH
-  exec ${php}/bin/php $out/libexec/arcanist/bin/${toolset} "\$@"
-  WRAPPER
-  chmod +x $out/bin/${toolset}
-'';
-
-in
-stdenv.mkDerivation {
-  pname = "arcanist";
-  version = "20230530";
-
-  src = fetchFromGitHub {
-    owner = "phacility";
-    repo = "arcanist";
-    rev = "e50d1bc4eabac9c37e3220e9f3fb8e37ae20b957";
-    hash = "sha256-u+HRsaCuAAyLrEihrZtLrdZ6NTVjPshieJATK3t5Fo4=";
-  };
-
-  patches = [
-    ./dont-require-python3-in-path.patch
-    ./shellcomplete-strlen-null.patch
-  ];
-
-  buildInputs = [ php python3 ];
-
-  nativeBuildInputs = [ bison flex installShellFiles ];
-
-  postPatch = lib.optionalString stdenv.isAarch64 ''
-    substituteInPlace support/xhpast/Makefile \
-      --replace "-minline-all-stringops" ""
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-    make cleanall -C support/xhpast $makeFlags "''${makeFlagsArray[@]}" -j $NIX_BUILD_CORES
-    make xhpast   -C support/xhpast $makeFlags "''${makeFlagsArray[@]}" -j $NIX_BUILD_CORES
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/bin $out/libexec
-    make install  -C support/xhpast $makeFlags "''${makeFlagsArray[@]}" -j $NIX_BUILD_CORES
-    make cleanall -C support/xhpast $makeFlags "''${makeFlagsArray[@]}" -j $NIX_BUILD_CORES
-    cp -R . $out/libexec/arcanist
-    ln -sf ${cacert}/etc/ssl/certs/ca-bundle.crt $out/libexec/arcanist/resources/ssl/default.pem
-
-    ${makeArcWrapper "arc"}
-    ${makeArcWrapper "phage"}
-
-    $out/bin/arc shell-complete --generate --
-    installShellCompletion --cmd arc --bash $out/libexec/arcanist/support/shell/rules/bash-rules.sh
-    installShellCompletion --cmd phage --bash $out/libexec/arcanist/support/shell/rules/bash-rules.sh
-    runHook postInstall
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    $out/bin/arc help diff -- > /dev/null
-    $out/bin/phage help alias -- > /dev/null
-  '';
-
-  meta = {
-    description = "Command line interface to Phabricator";
-    homepage = "https://www.phacility.com/";
-    license = lib.licenses.asl20;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.thoughtpolice ];
-  };
-}
diff --git a/pkgs/development/tools/misc/arcanist/dont-require-python3-in-path.patch b/pkgs/development/tools/misc/arcanist/dont-require-python3-in-path.patch
deleted file mode 100644
index 5c127491bb844..0000000000000
--- a/pkgs/development/tools/misc/arcanist/dont-require-python3-in-path.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Don't require python3 in PATH
-
-Once packaged, the arcanoid.py script has an absolute path shebang to
-python3, so there is no need to also require python3 in PATH.
-
-This prevents leaking in a python3 in PATH in the environment which arc
-runs linters etc.
-
-Author: bjorn.forsman@gmail.com
-diff -uNr arcanist.orig/src/workflow/ArcanistAnoidWorkflow.php arcanist.new/src/workflow/ArcanistAnoidWorkflow.php
---- arcanist.orig/src/workflow/ArcanistAnoidWorkflow.php	2022-03-31 13:23:30.865095192 +0200
-+++ arcanist.new/src/workflow/ArcanistAnoidWorkflow.php	2022-04-01 12:19:15.644159639 +0200
-@@ -24,13 +24,6 @@
-   }
- 
-   public function runWorkflow() {
--    if (!Filesystem::binaryExists('python3')) {
--      throw new PhutilArgumentUsageException(
--        pht(
--          'The "arc anoid" workflow requires "python3" to be available '.
--          'in your $PATH.'));
--    }
--
-     $support_dir = phutil_get_library_root('arcanist');
-     $support_dir = dirname($support_dir);
-     $support_dir = $support_dir.'/support/';
diff --git a/pkgs/development/tools/misc/arcanist/shellcomplete-strlen-null.patch b/pkgs/development/tools/misc/arcanist/shellcomplete-strlen-null.patch
deleted file mode 100644
index 6911ce074e0cd..0000000000000
--- a/pkgs/development/tools/misc/arcanist/shellcomplete-strlen-null.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/toolset/workflow/ArcanistShellCompleteWorkflow.php b/src/toolset/workflow/ArcanistShellCompleteWorkflow.php
-index 9c2fcf9a..307231c8 100644
---- a/src/toolset/workflow/ArcanistShellCompleteWorkflow.php
-+++ b/src/toolset/workflow/ArcanistShellCompleteWorkflow.php
-@@ -92,7 +92,7 @@ EOTEXT
-     $argv = $this->getArgument('argv');
- 
-     $is_generate = $this->getArgument('generate');
--    $is_shell = (bool)strlen($this->getArgument('shell'));
-+    $is_shell = phutil_nonempty_string($this->getArgument('shell'));
-     $is_current = $this->getArgument('current');
- 
-     if ($argv) {
diff --git a/pkgs/development/tools/misc/astyle/default.nix b/pkgs/development/tools/misc/astyle/default.nix
index f7c7a1f09cdb0..139233ef1f761 100644
--- a/pkgs/development/tools/misc/astyle/default.nix
+++ b/pkgs/development/tools/misc/astyle/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "astyle";
-  version = "3.4.14";
+  version = "3.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    hash = "sha256-YGqD85FGczGF9nYwWdKSQzxA85Prb1IELhY/jfThaj4=";
+    hash = "sha256-3vwct7+oY77EcOg2wldDmhGZyiyLE6ZSoyf9eMj1kjw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/misc/automake/automake-1.16.x.nix b/pkgs/development/tools/misc/automake/automake-1.16.x.nix
index 0d9572c6f3140..20fe31ef6cd7f 100644
--- a/pkgs/development/tools/misc/automake/automake-1.16.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.16.x.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, perl, autoconf }:
+{ lib, stdenv, fetchurl, perl, autoconf, updateAutotoolsGnuConfigScriptsHook }:
 
 stdenv.mkDerivation rec {
   pname = "automake";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   strictDeps = true;
-  nativeBuildInputs = [ autoconf perl ];
+  nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook autoconf perl ];
   buildInputs = [ autoconf ];
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/tools/misc/awf/default.nix b/pkgs/development/tools/misc/awf/default.nix
index 79d630d5688b5..d72b5dc51ed35 100644
--- a/pkgs/development/tools/misc/awf/default.nix
+++ b/pkgs/development/tools/misc/awf/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A Widget Factory";
+    description = "Widget Factory";
     longDescription = ''
       A widget factory is a theme preview application for gtk2 and
       gtk3. It displays the various widget types provided by gtk2/gtk3
diff --git a/pkgs/development/tools/misc/babeltrace/default.nix b/pkgs/development/tools/misc/babeltrace/default.nix
deleted file mode 100644
index 014d926eea3d7..0000000000000
--- a/pkgs/development/tools/misc/babeltrace/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, glib, libuuid, popt, elfutils }:
-
-stdenv.mkDerivation rec {
-  pname = "babeltrace";
-  version = "1.5.8";
-
-  src = fetchurl {
-    url = "https://www.efficios.com/files/babeltrace/${pname}-${version}.tar.bz2";
-    sha256 = "1hkg3phnamxfrhwzmiiirbhdgckzfkqwhajl0lmr1wfps7j47wcz";
-  };
-
-  # The pre-generated ./configure script uses an old autoconf version which
-  # breaks cross-compilation (replaces references to malloc with rpl_malloc).
-  # Re-generate with nixpkgs's autoconf. This requires glib to be present in
-  # nativeBuildInputs for its m4 macros to be present.
-  nativeBuildInputs = [ autoreconfHook glib pkg-config ];
-  buildInputs = [ glib libuuid popt elfutils ];
-
-  # --enable-debug-info (default) requires the configure script to run host
-  # executables to determine the elfutils library version, which cannot be done
-  # while cross compiling.
-  configureFlags = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--disable-debug-info";
-
-  meta = with lib; {
-    description = "Command-line tool and library to read and convert LTTng tracefiles";
-    homepage = "https://www.efficios.com/babeltrace";
-    license = licenses.mit;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
-  };
-
-}
diff --git a/pkgs/development/tools/misc/binutils/2.38/libbfd.nix b/pkgs/development/tools/misc/binutils/2.38/libbfd.nix
index feac15b512f9f..08cf35970a6ce 100644
--- a/pkgs/development/tools/misc/binutils/2.38/libbfd.nix
+++ b/pkgs/development/tools/misc/binutils/2.38/libbfd.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   meta = with lib; {
-    description = "A library for manipulating containers of machine code";
+    description = "Library for manipulating containers of machine code";
     longDescription = ''
       BFD is a library which provides a single interface to read and write
       object files, executables, archive files, and core files in any format.
diff --git a/pkgs/development/tools/misc/binutils/2.38/libopcodes.nix b/pkgs/development/tools/misc/binutils/2.38/libopcodes.nix
index 16b3695626d76..12a2ebc52fb25 100644
--- a/pkgs/development/tools/misc/binutils/2.38/libopcodes.nix
+++ b/pkgs/development/tools/misc/binutils/2.38/libopcodes.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   meta = with lib; {
-    description = "A library from binutils for manipulating machine code";
+    description = "Library from binutils for manipulating machine code";
     homepage = "https://www.gnu.org/software/binutils/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ericson2314 ];
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index c707d0daec896..afee755e43f4b 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -33,12 +33,12 @@ assert enableGoldDefault -> enableGold;
 let
   inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
-  version = "2.41";
+  version = "2.42";
 
   srcs = {
     normal = fetchurl {
       url = "mirror://gnu/binutils/binutils-${version}.tar.bz2";
-      hash = "sha256-pMS+wFL3uDcAJOYDieGUN38/SLVmGEGOpRBn9nqqsws=";
+      hash = "sha256-qlSFDr2lBkxyzU7C2bBWwpQlKZFIY1DZqXqypt/frxI=";
     };
     vc4-none = fetchFromGitHub {
       owner = "itszor";
@@ -66,11 +66,6 @@ stdenv.mkDerivation (finalAttrs: {
   # fetchpatch! All mutable patches (generated by GitHub or cgit) that are
   # needed here should be included directly in Nixpkgs as files.
   patches = [
-    # Upstream patch to fix llvm testsuite failure when loading powerpc
-    # objects:
-    #   https://sourceware.org/PR30794
-    ./gold-powerpc-for-llvm.patch
-
     # Make binutils output deterministic by default.
     ./deterministic.patch
 
@@ -80,9 +75,6 @@ stdenv.mkDerivation (finalAttrs: {
     ./0001-Revert-libtool.m4-fix-the-NM-nm-over-here-B-option-w.patch
     ./0001-Revert-libtool.m4-fix-nm-BSD-flag-detection.patch
 
-    # Required for newer macos versions
-    ./0001-libtool.m4-update-macos-version-detection-block.patch
-
     # For some reason bfd ld doesn't search DT_RPATH when cross-compiling. It's
     # not clear why this behavior was decided upon but it has the unfortunate
     # consequence that the linker will fail to find transitive dependencies of
@@ -170,8 +162,13 @@ stdenv.mkDerivation (finalAttrs: {
 
   # As binutils takes part in the stdenv building, we don't want references
   # to the bootstrap-tools libgcc (as uses to happen on arm/mips)
+  #
+  # for FreeBSD it's more complicated. With -static-libgcc, configure
+  # thinks that limits.h does not exist and the build fails for not finding
+  # LONG_MIN. The configure test itself succeeds but the compiler issues a
+  # warning about -static-libgcc being unused.
   env.NIX_CFLAGS_COMPILE =
-    if hostPlatform.isDarwin
+    if (hostPlatform.isDarwin || hostPlatform.isFreeBSD)
     then "-Wno-string-plus-int -Wno-deprecated-declarations"
     else "-static-libgcc";
 
@@ -217,6 +214,14 @@ stdenv.mkDerivation (finalAttrs: {
   ] ++ (if enableShared
       then [ "--enable-shared" "--disable-static" ]
       else [ "--disable-shared" "--enable-static" ])
+  ++ (lib.optionals (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") [
+      # lld17+ passes `--no-undefined-version` by default and makes this a hard
+      # error; libctf.ver version script references symbols that aren't present.
+      #
+      # This is fixed upstream and can be removed with the future release of 2.43.
+      # For now we allow this with `--undefined-version`:
+      "LDFLAGS=-Wl,--undefined-version"
+  ])
   ;
 
   # Fails
diff --git a/pkgs/development/tools/misc/binutils/libbfd.nix b/pkgs/development/tools/misc/binutils/libbfd.nix
index dca62b82eead0..c6ab2a6431d06 100644
--- a/pkgs/development/tools/misc/binutils/libbfd.nix
+++ b/pkgs/development/tools/misc/binutils/libbfd.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   };
 
   meta = with lib; {
-    description = "A library for manipulating containers of machine code";
+    description = "Library for manipulating containers of machine code";
     longDescription = ''
       BFD is a library which provides a single interface to read and write
       object files, executables, archive files, and core files in any format.
diff --git a/pkgs/development/tools/misc/binutils/libopcodes.nix b/pkgs/development/tools/misc/binutils/libopcodes.nix
index e067282a0e5e1..c8d3b78b29eb7 100644
--- a/pkgs/development/tools/misc/binutils/libopcodes.nix
+++ b/pkgs/development/tools/misc/binutils/libopcodes.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   };
 
   meta = with lib; {
-    description = "A library from binutils for manipulating machine code";
+    description = "Library from binutils for manipulating machine code";
     homepage = "https://www.gnu.org/software/binutils/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ericson2314 ];
diff --git a/pkgs/development/tools/misc/blackfire/default.nix b/pkgs/development/tools/misc/blackfire/default.nix
index 51056d7301b2b..e562a6aec078b 100644
--- a/pkgs/development/tools/misc/blackfire/default.nix
+++ b/pkgs/development/tools/misc/blackfire/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "blackfire";
-  version = "2.26.4";
+  version = "2.28.6";
 
   src = passthru.sources.${stdenv.hostPlatform.system} or (throw "Unsupported platform for blackfire: ${stdenv.hostPlatform.system}");
 
@@ -57,23 +57,23 @@ stdenv.mkDerivation rec {
     sources = {
       "x86_64-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_amd64.deb";
-        sha256 = "czFzZ+Z2CYw0ETzsmimAMNKrpiIVufyguOYuZJu2L8s=";
+        sha256 = "IeeBIW0yvyWawBOL1nzbL/KsVF79eskKili7jL+i40A=";
       };
       "i686-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_i386.deb";
-        sha256 = "I/7ZESjJjlRSvV41ldEtdymp7fwe0tCCFeS/oouOUi8=";
+        sha256 = "LrDqaGeR9g4m/MSdYFqEigyR58U/4lThA/+YbI+Lsa8=";
       };
       "aarch64-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_arm64.deb";
-        sha256 = "lJn9iRAPkLCpv+Vbk72a58DaNgNOTfyFiycyHosBiq4=";
+        sha256 = "nLDJ6Nf+Zo8hoiHXlKJ1qGMmuT3LHsLkRDpQ43qYX1k=";
       };
       "aarch64-darwin" = fetchurl {
         url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_arm64.pkg.tar.gz";
-        sha256 = "puvM/QB8nJgJaw1eDMJTb9aDrIdrqO3WVdDYWeayTAs=";
+        sha256 = "3xYrGJZjnIUTZiKnoTBDtfvJ9+jN9RntcqiHBhcsiIU=";
       };
       "x86_64-darwin" = fetchurl {
         url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_amd64.pkg.tar.gz";
-        sha256 = "srv99KyjxzEJNRA4hjoobSqzSab+Ox7g80tTun3G9KY=";
+        sha256 = "YOWlxKEFRVtcw2HauIMGVTEter0jmKH6Yp2pQ0NGHlA=";
       };
     };
 
@@ -88,8 +88,7 @@ stdenv.mkDerivation rec {
       fi
 
       for platform in ${lib.escapeShellArgs meta.platforms}; do
-        update-source-version "blackfire" "0" "${lib.fakeSha256}" --source-key="sources.$platform"
-        update-source-version "blackfire" "$NEW_VERSION" --source-key="sources.$platform"
+        update-source-version "blackfire" "$NEW_VERSION" --ignore-same-version --source-key="sources.$platform"
       done
     '';
   };
diff --git a/pkgs/development/tools/misc/blackfire/php-probe.nix b/pkgs/development/tools/misc/blackfire/php-probe.nix
index 748a153624ab0..c30dde82aaa62 100644
--- a/pkgs/development/tools/misc/blackfire/php-probe.nix
+++ b/pkgs/development/tools/misc/blackfire/php-probe.nix
@@ -14,47 +14,47 @@ assert lib.assertMsg (!php.ztsSupport) "blackfire only supports non zts versions
 let
   phpMajor = lib.versions.majorMinor php.version;
 
-  version = "1.92.13";
+  version = "1.92.17";
 
   hashes = {
     "x86_64-linux" = {
       system = "amd64";
       hash = {
-        "8.1" = "sha256-QpvnhIvjhm5tqOP72T2yVxV92M3ty/iDICaWsOVFpNg=";
-        "8.2" = "sha256-NhNbhOGRlhGvTcG4uZwTASWqLp7PQnfDW48GzROxkII=";
-        "8.3" = "sha256-Gn3M0ANj05QoAZB6W3HWj4zNCDya7lqa+OTv57fnEQ8=";
+        "8.1" = "sha256-BhAoC4q29toEq281aC2NRZ4uUhUDsl5QyiCh1dXpsLA=";
+        "8.2" = "sha256-jgqTRr9fOQQ/+bbJvXKq6kPeFGvUTs7gfBpkpeeFhWs=";
+        "8.3" = "sha256-McWJ+Ruyb7ySgDo8u7umgCjbh6dVd08wHYAxDMqjVGQ=";
       };
     };
     "i686-linux" = {
       system = "i386";
       hash = {
-        "8.1" = "sha256-zhCjSPTO/RGcc+qvkYlEeV+9ulIXpA0dCMRlSWwj8ys=";
-        "8.2" = "sha256-J+zdMC4q+MHmwADivqdEfSq8h/KeD5TAanCJKZLuEog=";
-        "8.3" = "sha256-GGNje7mg1uaLN3zrDXG/igLW9+nhxvPp7nIYW6aJBa4=";
+        "8.1" = "sha256-LRYSUZUqkSbjs5UZzNGGQKvf1aGyixqRQV1SYa7ica0=";
+        "8.2" = "sha256-VuPod48wx6rCSsZEV98AzqrD+a0t+yI0+9EifLjcROE=";
+        "8.3" = "sha256-r7+IVjLx0hpPWPL0sRSIUd4sBye1avQ0IW00fLIhfEY=";
       };
     };
     "aarch64-linux" = {
       system = "arm64";
       hash = {
-        "8.1" = "sha256-C2ie8tp3F0sr+edYbUBVw0b1YJtnjyneC8/+x6LWENg=";
-        "8.2" = "sha256-Ku1pulSErVMvBtiNvLgRw2NpE/bEOkjZ5TY7F/PYJto=";
-        "8.3" = "sha256-/U/qf7Aqxssvcnc06+K5JeG96Ab09zRvUYcwhSAW4b8=";
+        "8.1" = "sha256-JQTqbWbFC3kEHuYQTXL70T7clIPZTje0E6LBAjyBQdc=";
+        "8.2" = "sha256-uhm8SlbOwzd2HKUXha9jWoxYPzDEbiOo4GXQDby4BYA=";
+        "8.3" = "sha256-w99LTLpkk6rvTXZU2Qwi5DA40Zyw2/c4060Beusfebk=";
       };
     };
     "aarch64-darwin" = {
       system = "arm64";
       hash = {
-        "8.1" = "sha256-OdqG7G3TzuCVzBA0Xf+It05S6XaVlEd+ugM+gk70OiE=";
-        "8.2" = "sha256-/nCBQzimhcCrzNuwSVybHBmZZJImm75jKGqh2oXyyZA=";
-        "8.3" = "sha256-C2SxPYYXewU6PekQ3m1MBiPMPS5tE53gda2Qo7rZ1YQ=";
+        "8.1" = "sha256-sXxVKZSEL1VVFoh41hWwF1KR9hX2R7SwUQ4et+ouJYs=";
+        "8.2" = "sha256-wA9oTpbUX967crg4Gq+AI04HtWmitodgTKNm1EEWltI=";
+        "8.3" = "sha256-l7C7k/6tYfkUJ2qkeY52XjP6uDfXm0Mk/xM0hoRvsEM=";
       };
     };
     "x86_64-darwin" = {
       system = "amd64";
       hash = {
-        "8.1" = "sha256-W3reCFcN/bM3hrUeekJLG5qntH/Wvfb+JVly5+g2YEY=";
-        "8.2" = "sha256-d2YSmyV0mq7KBqoD4Bwdh3izh6hcKTBf6kP+q3QVnfI=";
-        "8.3" = "sha256-JiCw8Lew2laxOyb+2aSDqlZz2MafFwYwV46dqceEcBk=";
+        "8.1" = "sha256-SDS7JaktrW9z9R0jDwd+Q3W13KnPknuIoKaaJddORW8=";
+        "8.2" = "sha256-pwFI4A4eUZKEZ5tDDlFTz5O+as7LXuyWdESgZI6soHQ=";
+        "8.3" = "sha256-H++ksK3IjHDCbGD3BaVpWlKx8OH0G3Luktx2pu0GCj0=";
       };
     };
   };
@@ -107,8 +107,7 @@ stdenv.mkDerivation (finalAttrs: {
       fi
 
       for source in ${lib.concatStringsSep " " (builtins.attrNames finalAttrs.passthru.updateables)}; do
-        update-source-version "$UPDATE_NIX_ATTR_PATH.updateables.$source" "0" "sha256-${lib.fakeSha256}"
-        update-source-version "$UPDATE_NIX_ATTR_PATH.updateables.$source" "$NEW_VERSION"
+        update-source-version "$UPDATE_NIX_ATTR_PATH.updateables.$source" "$NEW_VERSION" --ignore-same-version
       done
     '';
 
diff --git a/pkgs/development/tools/misc/bonnmotion/default.nix b/pkgs/development/tools/misc/bonnmotion/default.nix
index 558902debd123..0c3406c785eb5 100644
--- a/pkgs/development/tools/misc/bonnmotion/default.nix
+++ b/pkgs/development/tools/misc/bonnmotion/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A mobility scenario generation and analysis tool";
+    description = "Mobility scenario generation and analysis tool";
     mainProgram = "bm";
     longDescription = ''
       BonnMotion is a Java software which creates and analyzes mobility
diff --git a/pkgs/development/tools/misc/bsdbuild/default.nix b/pkgs/development/tools/misc/bsdbuild/default.nix
index e3bfc958437a3..e7b16547d383b 100644
--- a/pkgs/development/tools/misc/bsdbuild/default.nix
+++ b/pkgs/development/tools/misc/bsdbuild/default.nix
@@ -49,7 +49,7 @@ EOF
 
   meta = {
     homepage = "http://bsdbuild.hypertriton.com";
-    description = "A cross-platform build system";
+    description = "Cross-platform build system";
 
     longDescription = ''
       BSDBuild is a cross-platform build system. Derived from the
diff --git a/pkgs/development/tools/misc/c2ffi/default.nix b/pkgs/development/tools/misc/c2ffi/default.nix
index a66ae2aa35ea0..56dbcb06a12ce 100644
--- a/pkgs/development/tools/misc/c2ffi/default.nix
+++ b/pkgs/development/tools/misc/c2ffi/default.nix
@@ -24,6 +24,9 @@ llvmPackages.stdenv.mkDerivation {
   passthru.updateScript = unstableGitUpdater {
     url = "https://github.com/rpav/c2ffi.git";
     branch = c2ffiBranch;
+    # Tags only exist for older LLVM versions, so they would result in nonsense names
+    # like: c2ffi-llvm-16.0.0-11.0.0.0-unstable-YYYY-MM-DD
+    hardcodeZeroVersion = true;
   };
 
   nativeBuildInputs = [
@@ -49,7 +52,7 @@ llvmPackages.stdenv.mkDerivation {
 
   meta = with lib; {
     homepage = "https://github.com/rpav/c2ffi";
-    description = "An LLVM based tool for extracting definitions from C, C++, and Objective C header files for use with foreign function call interfaces";
+    description = "LLVM based tool for extracting definitions from C, C++, and Objective C header files for use with foreign function call interfaces";
     mainProgram = "c2ffi";
     license = licenses.lgpl21Only;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/development/tools/misc/catppuccin-catwalk/default.nix b/pkgs/development/tools/misc/catppuccin-catwalk/default.nix
deleted file mode 100644
index 848ead3d7ed4b..0000000000000
--- a/pkgs/development/tools/misc/catppuccin-catwalk/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, rustPlatform
-, installShellFiles
-, pkg-config
-, libwebp
-}:
-
-rustPlatform.buildRustPackage {
-  pname = "catppuccin-catwalk";
-  version = "0.1.0";
-
-  src = fetchFromGitHub {
-    owner = "catppuccin";
-    repo = "toolbox";
-    rev = "b38153e94622bab574224bb24a6ae953b3a849da";
-    hash = "sha256-zZRl6Xem41pBQmEoK24YR4TKiQ84nU5phBih2TF8G8g=";
-  };
-
-  buildAndTestSubdir = "catwalk";
-  cargoHash = "sha256-KoxivYLzJEjWbxIkizrMpmVwUF7bfVxl13H774lzQRg=";
-
-  nativeBuildInputs = [ installShellFiles pkg-config ];
-  buildInputs = [ libwebp ];
-
-  postInstall = ''
-    installShellCompletion --cmd catwalk \
-      --bash <("$out/bin/catwalk" completion bash) \
-      --zsh <("$out/bin/catwalk" completion zsh) \
-      --fish <("$out/bin/catwalk" completion fish)
-  '';
-
-  doInstallCheck = !stdenv.hostPlatform.isStatic && stdenv.hostPlatform.isElf;
-  installCheckPhase = ''
-    runHook preInstallCheck
-    readelf -a $out/bin/catwalk | grep -F 'Shared library: [libwebp.so'
-    runHook postInstallCheck
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/catppuccin/toolbox/tree/main/catwalk";
-    description = "A CLI for Catppuccin that takes in four showcase images and displays them all at once";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ryanccn ];
-    mainProgram = "catwalk";
-  };
-}
diff --git a/pkgs/development/tools/misc/cgdb/default.nix b/pkgs/development/tools/misc/cgdb/default.nix
index 6bf752cb5bcf8..b44c8e90f45e6 100644
--- a/pkgs/development/tools/misc/cgdb/default.nix
+++ b/pkgs/development/tools/misc/cgdb/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses readline flex texinfo ];
 
   meta = with lib; {
-    description = "A curses interface to gdb";
+    description = "Curses interface to gdb";
     mainProgram = "cgdb";
 
     homepage = "https://cgdb.github.io/";
diff --git a/pkgs/development/tools/misc/cli11/default.nix b/pkgs/development/tools/misc/cli11/default.nix
deleted file mode 100644
index 8c4c58c052b0b..0000000000000
--- a/pkgs/development/tools/misc/cli11/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, boost
-, catch2
-, cmake
-, gtest
-, python3
-}:
-
-stdenv.mkDerivation rec {
-  pname = "cli11";
-  version = "2.3.2";
-
-  src = fetchFromGitHub {
-    owner = "CLIUtils";
-    repo = "CLI11";
-    rev = "v${version}";
-    sha256 = "sha256-x3/kBlf5LdzkTO4NYOKanZBfcU4oK+fJw9L7cf88LsY=";
-  };
-
-  nativeBuildInputs = [ cmake ];
-
-  nativeCheckInputs = [ boost python3 catch2 ];
-
-  doCheck = true;
-
-  meta = with lib; {
-    description = "Command line parser for C++11";
-    homepage = "https://github.com/CLIUtils/CLI11";
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ ];
-    license = licenses.bsd3;
-  };
-
-}
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix
deleted file mode 100644
index e1956f7ea8bf3..0000000000000
--- a/pkgs/development/tools/misc/clojure-lsp/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ lib
-, stdenv
-, buildGraalvmNativeImage
-, babashka
-, fetchurl
-, fetchFromGitHub
-, clojure
-, writeScript
-, testers
-, clojure-lsp
-}:
-
-buildGraalvmNativeImage rec {
-  pname = "clojure-lsp";
-  version = "2023.08.06-00.28.06";
-
-  src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
-    rev = version;
-    sha256 = "sha256-wc7M2cPRtdaRzZn3GNu/aCbQ2VqxiDxvu/b7qnBVUBo=";
-  };
-
-  jar = fetchurl {
-    url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp-standalone.jar";
-    sha256 = "c301821ac6914999a44f5c1cd371d46b248fe9a2e31d43a666d0bc2656cfdd78";
-  };
-
-  extraNativeImageBuildArgs = [
-    "--no-fallback"
-    "--native-image-info"
-  ];
-
-  doCheck = true;
-  checkPhase = ''
-    runHook preCheck
-
-    export HOME="$(mktemp -d)"
-    ./${pname} --version | fgrep -q '${version}'
-  ''
-  # TODO: fix classpath issue per https://github.com/NixOS/nixpkgs/pull/153770
-  #${babashka}/bin/bb integration-test ./${pname}
-  + ''
-    runHook postCheck
-  '';
-
-  passthru.tests.version = testers.testVersion {
-    inherit version;
-    package = clojure-lsp;
-    command = "clojure-lsp --version";
-  };
-
-  passthru.updateScript = writeScript "update-clojure-lsp" ''
-    #!/usr/bin/env nix-shell
-    #!nix-shell -i bash -p curl common-updater-scripts gnused jq nix
-
-    set -eu -o pipefail
-
-    latest_version=$(curl -s https://api.github.com/repos/clojure-lsp/clojure-lsp/releases/latest | jq --raw-output .tag_name)
-
-    old_jar_hash=$(nix-instantiate --eval --strict -A "clojure-lsp.jar.drvAttrs.outputHash" | tr -d '"' | sed -re 's|[+]|\\&|g')
-
-    curl -o clojure-lsp-standalone.jar -sL https://github.com/clojure-lsp/clojure-lsp/releases/download/$latest_version/clojure-lsp-standalone.jar
-    new_jar_hash=$(nix-hash --flat --type sha256 clojure-lsp-standalone.jar | sed -re 's|[+]|\\&|g')
-
-    rm -f clojure-lsp-standalone.jar
-
-    nixFile=$(nix-instantiate --eval --strict -A "clojure-lsp.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/')
-
-    sed -i "$nixFile" -re "s|\"$old_jar_hash\"|\"$new_jar_hash\"|"
-    update-source-version clojure-lsp "$latest_version"
-  '';
-
-  meta = with lib; {
-    description = "Language Server Protocol (LSP) for Clojure";
-    homepage = "https://github.com/clojure-lsp/clojure-lsp";
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
-    license = licenses.mit;
-    maintainers = with maintainers; [ ericdallo babariviere ];
-  };
-}
diff --git a/pkgs/development/tools/misc/coccinelle/default.nix b/pkgs/development/tools/misc/coccinelle/default.nix
index 6eca9b7f8fa9e..5e97e8486a63b 100644
--- a/pkgs/development/tools/misc/coccinelle/default.nix
+++ b/pkgs/development/tools/misc/coccinelle/default.nix
@@ -1,67 +1,22 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , ocamlPackages
 , pkg-config
 , autoreconfHook
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "coccinelle";
-  version = "1.1.1";
+  version = "1.2";
 
   src = fetchFromGitHub {
-    repo = pname;
-    rev = version;
+    repo = "coccinelle";
+    rev = finalAttrs.version;
     owner = "coccinelle";
-    hash = "sha256-rS9Ktp/YcXF0xUtT4XZtH5F9huvde0vRztY7vGtyuqY=";
+    hash = "sha256-v51KQLMJENLrlstCsP3DAuJJFMyjFyOZPJ7cRW5ovws=";
   };
 
-  patches = [
-    # Fix data path lookup.
-    # https://github.com/coccinelle/coccinelle/pull/270
-    (fetchpatch {
-      url = "https://github.com/coccinelle/coccinelle/commit/540888ff426e0b1f7907b63ce26e712d1fc172cc.patch";
-      sha256 = "sha256-W8RNIWDAC3lQ5bG+gD50r7x919JIcZRpt3QSOSMWpW4=";
-    })
-
-    # Fix attaching code before declarations.
-    # https://github.com/coccinelle/coccinelle/issues/282
-    (fetchpatch {
-      url = "https://github.com/coccinelle/coccinelle/commit/cd33db143416d820f547bf5869482cfcfc0ea9d0.patch";
-      sha256 = "q7wbxbB9Ob0fSJwCjRtDPO3Xg4RO9yrQZG9G0/LGunI=";
-    })
-
-    # Fix attaching declaration metavariables.
-    # https://github.com/coccinelle/coccinelle/issues/281
-    (fetchpatch {
-      url = "https://github.com/coccinelle/coccinelle/commit/df71c5c0fe2a73c7358f73f45a550b57a7e30d85.patch";
-      sha256 = "qrYfligJnXP7J5G/hfzyaKg9aFn74VExtc/Rs/DI2gc=";
-    })
-
-    # Support GLib’s autocleanup macros.
-    # https://github.com/coccinelle/coccinelle/issues/275
-    (fetchpatch {
-      url = "https://github.com/coccinelle/coccinelle/commit/6d5602aca8775c3c5c503939c3dcf0637649d09b.patch";
-      sha256 = "NACf8joOOvN32H/sIfI+oqiT3289zXXQVVfXbRfbIe8=";
-    })
-
-    # Exit with non-zero status on failure.
-    (fetchpatch {
-      url = "https://github.com/coccinelle/coccinelle/commit/6c0a855af14d41864e1e522b93dc39646a3b83c7.patch";
-      sha256 = "6yfK8arB0GDW7o4cXsv0Y9TMvqgGf3/P1ebXrFFUC80=";
-    })
-    (fetchpatch {
-      url = "https://github.com/coccinelle/coccinelle/commit/5448bb2bd03491ffec356bf7bd6ddcdbf4d36bc9.patch";
-      sha256 = "fyyxw2BNZUpyLBieIhOKeWbLFGP1tjULH70w/hU+jKw=";
-    })
-    (fetchpatch {
-      url = "https://github.com/coccinelle/coccinelle/commit/b8b1937657765e991195a10fcd7b8f7a300fc60b.patch";
-      sha256 = "ergWJF6BKrhmJhx1aiVYDHztgjaQvaJ5iZRAmC9i22s=";
-    })
-  ];
-
   nativeBuildInputs = with ocamlPackages; [
     autoreconfHook
     pkg-config
@@ -105,4 +60,4 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.thoughtpolice ];
   };
-}
+})
diff --git a/pkgs/development/tools/misc/coreboot-toolchain/default.nix b/pkgs/development/tools/misc/coreboot-toolchain/default.nix
index 54f3f6e9b459e..51d80b6df9ae9 100644
--- a/pkgs/development/tools/misc/coreboot-toolchain/default.nix
+++ b/pkgs/development/tools/misc/coreboot-toolchain/default.nix
@@ -19,12 +19,12 @@ let
 
     stdenvNoCC.mkDerivation (finalAttrs: {
       pname = "coreboot-toolchain-${arch}";
-      version = "24.02";
+      version = "24.05";
 
       src = fetchgit {
         url = "https://review.coreboot.org/coreboot";
         rev = finalAttrs.version;
-        hash = "sha256-fHulr7w5I9LzBwGt/ZVaN7A3XEd7uQ2eJJifxII7rtk=";
+        hash = "sha256-jTfMFvl3sG3BIVVkpZ81BQ20Bs+2ESE6RMh0fW86rKE=";
         fetchSubmodules = false;
         leaveDotGit = true;
         postFetch = ''
@@ -63,7 +63,7 @@ let
         homepage = "https://www.coreboot.org";
         description = "coreboot toolchain for ${arch} targets";
         license = with licenses; [ bsd2 bsd3 gpl2 lgpl2Plus gpl3Plus ];
-        maintainers = with maintainers; [ felixsinger ];
+        maintainers = with maintainers; [ felixsinger jmbaur ];
         platforms = platforms.linux;
       };
     })
diff --git a/pkgs/development/tools/misc/coreboot-toolchain/stable.nix b/pkgs/development/tools/misc/coreboot-toolchain/stable.nix
index 6f5160e033b72..6656e78220869 100644
--- a/pkgs/development/tools/misc/coreboot-toolchain/stable.nix
+++ b/pkgs/development/tools/misc/coreboot-toolchain/stable.nix
@@ -28,17 +28,17 @@
     };
   }
   {
-    name = "binutils-2.41.tar.xz";
+    name = "binutils-2.42.tar.xz";
     archive = fetchurl {
-      sha256 = "0l3l003dynq11ppr2h8p0cfc7zyky8ilfwg60sbfan9lwa4mg6mf";
-      url = "mirror://gnu/binutils/binutils-2.41.tar.xz";
+      sha256 = "0058hngi16793aja9ih623mfr98dcarmf549nw38nxzwslgx9r7n";
+      url = "mirror://gnu/binutils/binutils-2.42.tar.xz";
     };
   }
   {
-    name = "R06_28_23.tar.gz";
+    name = "acpica-unix-20230628.tar.gz";
     archive = fetchurl {
-      sha256 = "0cadxihshyrjplrx01vna13r1m2f6lj1klw7mh8pg2m0gjdpjj12";
-      url = "https://github.com/acpica/acpica/archive/refs/tags/R06_28_23.tar.gz";
+      sha256 = "1kjwzyfrmw0fhawjvpqib3l5jxdlcpj3vv92sb7ls8ixbrs6m1w6";
+      url = "https://downloadmirror.intel.com/783534/acpica-unix-20230628.tar.gz";
     };
   }
   {
diff --git a/pkgs/development/tools/misc/cppi/default.nix b/pkgs/development/tools/misc/cppi/default.nix
index d8144dd5e9b0e..8aa0afd7011e0 100644
--- a/pkgs/development/tools/misc/cppi/default.nix
+++ b/pkgs/development/tools/misc/cppi/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://savannah.gnu.org/projects/cppi/";
 
-    description = "A C preprocessor directive indenter";
+    description = "C preprocessor directive indenter";
     mainProgram = "cppi";
 
     longDescription =
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
     license = lib.licenses.gpl3Plus;
 
-    maintainers = [ ];
+    maintainers = with lib.maintainers; [ sigmanificient ];
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/misc/creduce/default.nix b/pkgs/development/tools/misc/creduce/default.nix
index 90da97ae9e18f..e41d8d3379fea 100644
--- a/pkgs/development/tools/misc/creduce/default.nix
+++ b/pkgs/development/tools/misc/creduce/default.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A C program reducer";
+    description = "C program reducer";
     mainProgram = "creduce";
     homepage = "https://embed.cs.utah.edu/creduce";
     # Officially, the license is: https://github.com/csmith-project/creduce/blob/master/COPYING
diff --git a/pkgs/development/tools/misc/cscope/default.nix b/pkgs/development/tools/misc/cscope/default.nix
index 432f689d64dd5..05e61e1afb764 100644
--- a/pkgs/development/tools/misc/cscope/default.nix
+++ b/pkgs/development/tools/misc/cscope/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A developer's tool for browsing source code";
+    description = "Developer's tool for browsing source code";
 
     longDescription = ''
       Cscope is a developer's tool for browsing source code.  It has
diff --git a/pkgs/development/tools/misc/csmith/default.nix b/pkgs/development/tools/misc/csmith/default.nix
index 5371f88c0a87b..529339c38c113 100644
--- a/pkgs/development/tools/misc/csmith/default.nix
+++ b/pkgs/development/tools/misc/csmith/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib; {
-    description = "A random generator of C programs";
+    description = "Random generator of C programs";
     homepage = "https://embed.cs.utah.edu/csmith";
     # Officially, the license is this: https://github.com/csmith-project/csmith/blob/master/COPYING
     license = licenses.bsd2;
diff --git a/pkgs/development/tools/misc/ctags/default.nix b/pkgs/development/tools/misc/ctags/default.nix
index 228de9300b0cc..fadc3b3830ce7 100644
--- a/pkgs/development/tools/misc/ctags/default.nix
+++ b/pkgs/development/tools/misc/ctags/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A tool for fast source code browsing (exuberant ctags)";
+    description = "Tool for fast source code browsing (exuberant ctags)";
     mainProgram = "ctags";
     longDescription = ''
       Ctags generates an index (or tag) file of language objects found
diff --git a/pkgs/development/tools/misc/ctags/wrapped.nix b/pkgs/development/tools/misc/ctags/wrapped.nix
index 2bc3aa5ecf4fa..b3734bbf06a4e 100644
--- a/pkgs/development/tools/misc/ctags/wrapped.nix
+++ b/pkgs/development/tools/misc/ctags/wrapped.nix
@@ -1,78 +1,90 @@
-{ pkgs, ctags }:
-
-with pkgs.lib;
-
-# define some ctags wrappers adding support for some not that common languages
-# customization:
-# a) add stuff here
-# b) override asLang, phpLang, ... using packageOverrides
-# c) use ctagsWrapped.override {args = [ your liste ];}
+{
+  lib,
+  ctags,
+  writeTextFile,
+  runtimeShell,
+  ctagsWrapped,
+  name ? "${ctags.name}-wrapped",
+  args ? lib.concatLists [
+    ctagsWrapped.defaultArgs
+    ctagsWrapped.phpLang
+    ctagsWrapped.jsLang
+    ctagsWrapped.nixLang
+    ctagsWrapped.asLang
+    ctagsWrapped.rubyLang
+  ],
+}:
 
-# install using -iA ctagsWrapped.ctagsWrapped
+# Define a ctags wrapper derivation adding support for some not-that-common languages customization.
+# Override this to provide different args.
 
-{
+writeTextFile {
+  inherit name;
+  executable = true;
+  destination = "/bin/${name}";
+  text = ''
+    #!${runtimeShell}
+    exec ${ctags}/bin/ctags ${lib.concatStringsSep " " (map lib.escapeShellArg args)} "$@"
+  '';
+  derivationArgs = {
+    # Inherit the metadata from the parent `ctags` derivation.
+    inherit (ctags) meta;
 
-  # the derivation. use language extensions specified by args
-  ctagsWrapped = makeOverridable ( {args, name} :  pkgs.writeScriptBin name ''
-  #!${pkgs.runtimeShell}
-  exec ${pkgs.ctags}/bin/ctags ${concatStringsSep " " (map escapeShellArg args)} "$@"
-  '') {
-    args = let x = pkgs.ctagsWrapped; in concatLists [
-      x.defaultArgs x.phpLang x.jsLang x.nixLang x.asLang x.rubyLang
-    ];
-    name = "${ctags.name}-wrapped";
-  };
+    passthru = {
+      # `ctagsWrapped` exists for backwards compatibility; ctagsWrapped used to be an attrset and
+      # now is a derivation, so keep supporting the use of `ctagsWrapped.ctagsWrapped`.
+      inherit ctagsWrapped;
 
-  ### language arguments
+      ### language arguments
 
-  # don't scan version control directories
-  defaultArgs = [
-    "--exclude=.svn"
-    "--exclude=.hg"
-    "--exclude=.git"
-    "--exclude=_darcs"
-    "--sort=yes"
-  ];
+      # don't scan version control directories
+      defaultArgs = [
+        "--exclude=.svn"
+        "--exclude=.hg"
+        "--exclude=.git"
+        "--exclude=_darcs"
+        "--sort=yes"
+      ];
 
-  # actionscript
-  asLang = [
-    "--langdef=ActionScript"
-    "--langmap=ActionScript:.as"
-    "--regex-ActionScript=/function[ \\t]+([A-Za-z0-9_]+)[ \\t]*\\(/\\1/f,function,functions/"
-    "--regex-ActionScript=/function[ \\t]+(set|get)[ \\t]+([A-Za-z0-9_]+)[ \\t]*\\(/\\2/p,property,properties/"
-    "--regex-ActionScript=/interface[ \\t]+[a-z0-9_.]*([A-Z][A-Za-z0-9_]+)/\\1/i,interface,interfaces/"
-    "--regex-ActionScript=/package[ \\t]+([^ \\t]*)/\\1/p/"
-    "--regex-ActionScript=/class[ \\t]+[a-z0-9_.]*([A-Z][A-Za-z0-9_]+)/\\1/c,class,classes/"
-  ];
+      # actionscript
+      asLang = [
+        "--langdef=ActionScript"
+        "--langmap=ActionScript:.as"
+        "--regex-ActionScript=/function[ \\t]+([A-Za-z0-9_]+)[ \\t]*\\(/\\1/f,function,functions/"
+        "--regex-ActionScript=/function[ \\t]+(set|get)[ \\t]+([A-Za-z0-9_]+)[ \\t]*\\(/\\2/p,property,properties/"
+        "--regex-ActionScript=/interface[ \\t]+[a-z0-9_.]*([A-Z][A-Za-z0-9_]+)/\\1/i,interface,interfaces/"
+        "--regex-ActionScript=/package[ \\t]+([^ \\t]*)/\\1/p/"
+        "--regex-ActionScript=/class[ \\t]+[a-z0-9_.]*([A-Z][A-Za-z0-9_]+)/\\1/c,class,classes/"
+      ];
 
-  # PHP
-  phpLang = [
-    "--langmap=PHP:.php"
-    "--regex-PHP=/abstract class ([^ ]*)/\\1/c/"
-    "--regex-PHP=/interface ([^ ]*)/\\1/i/"
-    "--regex-PHP=/function[ \\t]+([^ (]*)/\\1/f/"
-  ];
+      # PHP
+      phpLang = [
+        "--langmap=PHP:.php"
+        "--regex-PHP=/abstract class ([^ ]*)/\\1/c/"
+        "--regex-PHP=/interface ([^ ]*)/\\1/i/"
+        "--regex-PHP=/function[ \\t]+([^ (]*)/\\1/f/"
+      ];
 
-  # Javascript: also find unnamed functions and functions being passed within a dict.
-  # the dict properties is used to implement duck typing in frameworks
-  # var foo = function () { ... }
-  # {
-  # a : function () {}
-  # only recognize names up 100 characters. Else you'll be in trouble scanning compressed .js files.
-  jsLang = [
-    "--regex-JavaScript=/([^ \\t]{1,100})[ \\t]*:[ \\t]*function[ \\t]*\\(/\\1/f/"
-  ];
+      # Javascript: also find unnamed functions and functions being passed within a dict.
+      # the dict properties is used to implement duck typing in frameworks
+      # var foo = function () { ... }
+      # {
+      # a : function () {}
+      # only recognize names up 100 characters. Else you'll be in trouble scanning compressed .js files.
+      jsLang = [ "--regex-JavaScript=/([^ \\t]{1,100})[ \\t]*:[ \\t]*function[ \\t]*\\(/\\1/f/" ];
 
-  # find foo in "foo =", don't think we can do a lot better
-  nixLang = [
-    "--langdef=NIX"
-    "--langmap=NIX:.nix"
-    "--regex-NIX=/([^ \\t*]*)[ \\t]*=/\\1/f/"
-  ];
+      # find foo in "foo =", don't think we can do a lot better
+      nixLang = [
+        "--langdef=NIX"
+        "--langmap=NIX:.nix"
+        "--regex-NIX=/([^ \\t*]*)[ \\t]*=/\\1/f/"
+      ];
 
-  rubyLang = [
-    "--langmap=RUBY:.rb"
-    "--regex-RUBY=/class ([^ ]*)/\\1/c/"
-    "--regex-RUBY=/^[ ]*module[ ]*([^ ]*)/\\1/m/"
-  ];
+      rubyLang = [
+        "--langmap=RUBY:.rb"
+        "--regex-RUBY=/class ([^ ]*)/\\1/c/"
+        "--regex-RUBY=/^[ ]*module[ ]*([^ ]*)/\\1/m/"
+      ];
+    };
+  };
 }
diff --git a/pkgs/development/tools/misc/cwebbin/default.nix b/pkgs/development/tools/misc/cwebbin/default.nix
index 055a24f3fe0a0..a5ed3e222aaae 100644
--- a/pkgs/development/tools/misc/cwebbin/default.nix
+++ b/pkgs/development/tools/misc/cwebbin/default.nix
@@ -1,9 +1,17 @@
 { lib, stdenv, fetchFromGitHub, fetchurl, tie }:
 
+let
+  cweb = fetchurl {
+    url = "https://www.ctan.org/tex-archive/web/c_cpp/cweb/cweb-3.64ah.tgz";
+    sha256 = "1hdzxfzaibnjxjzgp6d2zay8nsarnfy9hfq55hz1bxzzl23n35aj";
+  };
+in
 stdenv.mkDerivation rec {
   pname = "cwebbin";
   version = "22p";
 
+  __structuredAttrs = true;
+
   src = fetchFromGitHub {
     owner = "ascherer";
     repo = "cwebbin";
@@ -11,10 +19,9 @@ stdenv.mkDerivation rec {
     sha256 = "0zf93016hm9i74i2v384rwzcw16y3hg5vc2mibzkx1rzvqa50yfr";
   };
 
-  cweb = fetchurl {
-    url = "https://www.ctan.org/tex-archive/web/c_cpp/cweb/cweb-3.64ah.tgz";
-    sha256 = "1hdzxfzaibnjxjzgp6d2zay8nsarnfy9hfq55hz1bxzzl23n35aj";
-  };
+  prePatch = ''
+    tar xf ${cweb}
+  '';
 
   # Remove references to __DATE__ and __TIME__
   postPatch = ''
@@ -26,6 +33,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ tie ];
 
+  makefile = "Makefile.unix";
+
   makeFlags = [
     "MACROSDIR=$(out)/share/texmf/tex/generic/cweb"
     "CWEBINPUTS=$(out)/lib/cweb"
@@ -35,18 +44,17 @@ stdenv.mkDerivation rec {
     "CP=cp"
     "RM=rm"
     "PDFTEX=echo"
-    "CC=${stdenv.cc.targetPrefix}c++"
+    # requires __structuredAttrs = true
+    "CC=$(CXX) -std=c++14"
   ];
 
-  buildPhase = ''
-    zcat ${cweb} | tar -xvpf -
-    make -f Makefile.unix boot $makeFlags
-    make -f Makefile.unix cautiously $makeFlags
-  '';
+  buildFlags = [
+    "boot"
+    "cautiously"
+  ];
 
-  installPhase = ''
+  preInstall = ''
     mkdir -p $out/share/man/man1 $out/share/texmf/tex/generic $out/share/emacs $out/lib
-    make -f Makefile.unix install $makeFlags
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/misc/dart-sass/default.nix b/pkgs/development/tools/misc/dart-sass/default.nix
index 6ca7e8f43987b..f3e30557ae9bd 100644
--- a/pkgs/development/tools/misc/dart-sass/default.nix
+++ b/pkgs/development/tools/misc/dart-sass/default.nix
@@ -10,24 +10,24 @@
 }:
 
 let
-  embedded-protocol-version = "2.6.0";
+  embedded-protocol-version = "2.7.1";
 
   embedded-protocol = fetchFromGitHub {
     owner = "sass";
     repo = "sass";
     rev = "refs/tags/embedded-protocol-${embedded-protocol-version}";
-    hash = "sha256-pNQnbOKVxRW9AiPteuO2Gq6ejV5Yd9GTuxZSyC/0SlE=";
+    hash = "sha256-6bGH/klCYxuq7CrOJVF8ySafhLJwet5ppBcpI8dzeCQ=";
   };
 in
 buildDartApplication rec {
   pname = "dart-sass";
-  version = "1.75.0";
+  version = "1.77.4";
 
   src = fetchFromGitHub {
     owner = "sass";
     repo = pname;
     rev = version;
-    hash = "sha256-nj1CCg/eID5dmW/omIGQYNP/uOKNvMzgo3RLBGLULKI=";
+    hash = "sha256-xHOZDeK6xYnfrb6yih6jzRDZLRvyp0EeKZynEq3A4aI=";
   };
 
   pubspecLock = lib.importJSON ./pubspec.lock.json;
@@ -47,7 +47,7 @@ buildDartApplication rec {
 
   meta = with lib; {
     homepage = "https://github.com/sass/dart-sass";
-    description = "The reference implementation of Sass, written in Dart";
+    description = "Reference implementation of Sass, written in Dart";
     mainProgram = "sass";
     license = licenses.mit;
     maintainers = with maintainers; [ lelgenio ];
diff --git a/pkgs/development/tools/misc/dart-sass/pubspec.lock.json b/pkgs/development/tools/misc/dart-sass/pubspec.lock.json
index dc96a67bd282a..da5e7ea435f1f 100644
--- a/pkgs/development/tools/misc/dart-sass/pubspec.lock.json
+++ b/pkgs/development/tools/misc/dart-sass/pubspec.lock.json
@@ -24,11 +24,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "archive",
-        "sha256": "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d",
+        "sha256": "cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.4.10"
+      "version": "3.6.1"
     },
     "args": {
       "dependency": "direct main",
@@ -134,11 +134,11 @@
       "dependency": "transitive",
       "description": {
         "name": "coverage",
-        "sha256": "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76",
+        "sha256": "3945034e86ea203af7a056d98e98e42a5518fff200d6e8e6647e1886b07e936e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.7.2"
+      "version": "1.8.0"
     },
     "crypto": {
       "dependency": "direct dev",
@@ -314,21 +314,21 @@
       "dependency": "transitive",
       "description": {
         "name": "json_annotation",
-        "sha256": "b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467",
+        "sha256": "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.8.1"
+      "version": "4.9.0"
     },
     "lints": {
       "dependency": "direct dev",
       "description": {
         "name": "lints",
-        "sha256": "cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290",
+        "sha256": "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.0"
+      "version": "4.0.0"
     },
     "logging": {
       "dependency": "transitive",
@@ -364,11 +364,11 @@
       "dependency": "direct main",
       "description": {
         "name": "meta",
-        "sha256": "25dfcaf170a0190f47ca6355bdd4552cb8924b430512ff0cafb8db9bd41fe33b",
+        "sha256": "bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.14.0"
+      "version": "1.15.0"
     },
     "mime": {
       "dependency": "transitive",
@@ -384,11 +384,11 @@
       "dependency": "transitive",
       "description": {
         "name": "native_stack_traces",
-        "sha256": "c797830b9910d13b0f4e70ddef15cde034214fe3bdb8092c4ea5ffad2f74013f",
+        "sha256": "64d2f4bcf3b69326fb9bc91b4dd3a06f94bb5bbc3a65e25ae6467ace0b34bfd3",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.5.6"
+      "version": "0.5.7"
     },
     "native_synchronization": {
       "dependency": "direct main",
@@ -460,16 +460,6 @@
       "source": "hosted",
       "version": "6.0.2"
     },
-    "pointycastle": {
-      "dependency": "transitive",
-      "description": {
-        "name": "pointycastle",
-        "sha256": "70fe966348fe08c34bf929582f1d8247d9d9408130723206472b4687227e4333",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "3.8.0"
-    },
     "pool": {
       "dependency": "direct main",
       "description": {
@@ -534,11 +524,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "pubspec_parse",
-        "sha256": "c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367",
+        "sha256": "c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.3"
+      "version": "1.3.0"
     },
     "quiver": {
       "dependency": "transitive",
@@ -594,11 +584,11 @@
       "dependency": "transitive",
       "description": {
         "name": "shelf_web_socket",
-        "sha256": "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1",
+        "sha256": "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.0.4"
+      "version": "2.0.0"
     },
     "source_map_stack_trace": {
       "dependency": "transitive",
@@ -684,11 +674,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "test",
-        "sha256": "d87214d19fb311997d8128ec501a980f77cb240ac4e7e219accf452813ff473c",
+        "sha256": "d11b55850c68c1f6c0cf00eabded4e66c4043feaf6c0d7ce4a36785137df6331",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.25.3"
+      "version": "1.25.5"
     },
     "test_api": {
       "dependency": "transitive",
@@ -704,11 +694,11 @@
       "dependency": "transitive",
       "description": {
         "name": "test_core",
-        "sha256": "2236f70be1e5ab405c675e88c36935a87dad9e05a506b57dd5c0f617f5aebcb2",
+        "sha256": "4d070a6bc36c1c4e89f20d353bfd71dc30cdf2bd0e14349090af360a029ab292",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.6.1"
+      "version": "0.6.2"
     },
     "test_descriptor": {
       "dependency": "direct dev",
@@ -764,11 +754,11 @@
       "dependency": "transitive",
       "description": {
         "name": "vm_service",
-        "sha256": "a75f83f14ad81d5fe4b3319710b90dec37da0e22612326b696c9e1b8f34bbf48",
+        "sha256": "360c4271613beb44db559547d02f8b0dc044741d0eeb9aa6ccdb47e8ec54c63a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "14.2.0"
+      "version": "14.2.3"
     },
     "watcher": {
       "dependency": "direct main",
@@ -790,15 +780,25 @@
       "source": "hosted",
       "version": "0.5.1"
     },
+    "web_socket": {
+      "dependency": "transitive",
+      "description": {
+        "name": "web_socket",
+        "sha256": "24301d8c293ce6fe327ffe6f59d8fd8834735f0ec36e4fd383ec7ff8a64aa078",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.1.5"
+    },
     "web_socket_channel": {
       "dependency": "transitive",
       "description": {
         "name": "web_socket_channel",
-        "sha256": "58c6666b342a38816b2e7e50ed0f1e261959630becd4c879c4f26bfa14aa5a42",
+        "sha256": "a2d56211ee4d35d9b344d9d4ce60f362e4f5d1aafb988302906bd732bc731276",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.5"
+      "version": "3.0.0"
     },
     "webkit_inspection_protocol": {
       "dependency": "transitive",
diff --git a/pkgs/development/tools/misc/dejagnu/default.nix b/pkgs/development/tools/misc/dejagnu/default.nix
index 5c7720a2024b4..55581aedce607 100644
--- a/pkgs/development/tools/misc/dejagnu/default.nix
+++ b/pkgs/development/tools/misc/dejagnu/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, expect, makeWrapper }:
+{ fetchurl, lib, stdenv, expect, makeWrapper, updateAutotoolsGnuConfigScriptsHook }:
 
 stdenv.mkDerivation rec {
   pname = "dejagnu";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1qx2cv6qkxbiqg87jh217jb62hk3s7dmcs4cz1llm2wmsynfznl7";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook makeWrapper ];
   buildInputs = [ expect ];
 
   # dejagnu-1.6.3 can't successfully run tests in source tree:
diff --git a/pkgs/development/tools/misc/devspace/default.nix b/pkgs/development/tools/misc/devspace/default.nix
index 4a1393f79d466..a6bed02574407 100644
--- a/pkgs/development/tools/misc/devspace/default.nix
+++ b/pkgs/development/tools/misc/devspace/default.nix
@@ -33,7 +33,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "An open-source developer tool for Kubernetes that lets you develop and deploy cloud-native software faster";
+    description = "Open-source developer tool for Kubernetes that lets you develop and deploy cloud-native software faster";
     homepage = "https://devspace.sh/";
     changelog = "https://github.com/devspace-sh/devspace/releases/tag/v${version}";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/misc/dfu-programmer/default.nix b/pkgs/development/tools/misc/dfu-programmer/default.nix
index 71658e18d5529..a4c091bfbe7e8 100644
--- a/pkgs/development/tools/misc/dfu-programmer/default.nix
+++ b/pkgs/development/tools/misc/dfu-programmer/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     license = licenses.gpl2;
-    description = "A Device Firmware Update based USB programmer for Atmel chips with a USB bootloader";
+    description = "Device Firmware Update based USB programmer for Atmel chips with a USB bootloader";
     mainProgram = "dfu-programmer";
     homepage = "http://dfu-programmer.sourceforge.net/";
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/misc/distcc/default.nix b/pkgs/development/tools/misc/distcc/default.nix
index 312f693285801..983576a753347 100644
--- a/pkgs/development/tools/misc/distcc/default.nix
+++ b/pkgs/development/tools/misc/distcc/default.nix
@@ -72,7 +72,7 @@ let
     };
 
     meta = {
-      description = "A fast, free distributed C/C++ compiler";
+      description = "Fast, free distributed C/C++ compiler";
       homepage = "http://distcc.org";
       license = "GPL";
 
diff --git a/pkgs/development/tools/misc/docopts/default.nix b/pkgs/development/tools/misc/docopts/default.nix
deleted file mode 100644
index 1b7834318772d..0000000000000
--- a/pkgs/development/tools/misc/docopts/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
-
-buildGoPackage rec {
-  pname = "docopts";
-  version = "0.6.4-with-no-mangle-double-dash";
-
-  src = fetchFromGitHub {
-    owner = "docopt";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0zxax0kl8wqpkzmw9ij4qgfhjbk4r7996pjyp9xf5icyk8knp00q";
-  };
-
-  goPackagePath = "github.com/docopt/${pname}";
-
-  goDeps = ./deps.nix;
-
-  subPackages = [ "./" ];
-
-  postInstall = ''
-    install -D -m 755 ./go/src/$goPackagePath/docopts.sh $out/bin/docopts.sh
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/docopt/${pname}";
-    description = "docopt CLI tool for shell scripting";
-    license = licenses.mit;
-    maintainers = [ maintainers.confus ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/tools/misc/docopts/deps.nix b/pkgs/development/tools/misc/docopts/deps.nix
deleted file mode 100644
index 8cc1686de7d6b..0000000000000
--- a/pkgs/development/tools/misc/docopts/deps.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/docopt/docopt-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docopt/docopt.go";
-      rev = "ee0de3bc6815ee19d4a46c7eb90f829db0e014b1"; # "0.6.2";
-      sha256 = "sha256-0mCKIC5x7aauBL8ahXB9ExMfoTJl55HaafWWWPNRmUI=";
-    };
-  }
-]
diff --git a/pkgs/development/tools/misc/dura/default.nix b/pkgs/development/tools/misc/dura/default.nix
index f82205dacaa72..c2b4b4206dc25 100644
--- a/pkgs/development/tools/misc/dura/default.nix
+++ b/pkgs/development/tools/misc/dura/default.nix
@@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A background process that saves uncommitted changes on git";
+    description = "Background process that saves uncommitted changes on git";
     mainProgram = "dura";
     longDescription = ''
       Dura is a background process that watches your Git repositories and
diff --git a/pkgs/development/tools/misc/editorconfig-checker/default.nix b/pkgs/development/tools/misc/editorconfig-checker/default.nix
index 045cf0069d166..66560a91fcabd 100644
--- a/pkgs/development/tools/misc/editorconfig-checker/default.nix
+++ b/pkgs/development/tools/misc/editorconfig-checker/default.nix
@@ -29,7 +29,7 @@ buildGoModule rec {
 
   meta = with lib; {
     changelog = "https://github.com/editorconfig-checker/editorconfig-checker/releases/tag/${src.rev}";
-    description = "A tool to verify that your files are in harmony with your .editorconfig";
+    description = "Tool to verify that your files are in harmony with your .editorconfig";
     mainProgram = "editorconfig-checker";
     homepage = "https://editorconfig-checker.github.io/";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/editorconfig-core-c/default.nix b/pkgs/development/tools/misc/editorconfig-core-c/default.nix
index 54ab03de2e2b6..d75cb7f8bc9e5 100644
--- a/pkgs/development/tools/misc/editorconfig-core-c/default.nix
+++ b/pkgs/development/tools/misc/editorconfig-core-c/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "editorconfig-core-c";
-  version = "0.12.7";
+  version = "0.12.8";
 
   outputs = [ "out" "dev" ];
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "editorconfig";
     repo = "editorconfig-core-c";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-uKukgQPKIx+zJPf08MTYEtoBiWeVcQmZnjWl4Zk9xaY=";
+    hash = "sha256-zhWq87X8n7iyp5HBmV2ZTjcN09zQ/sBXPrGmQT0iRr4=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/tools/misc/elfkickers/default.nix b/pkgs/development/tools/misc/elfkickers/default.nix
index 7220ca31443a7..fa2ed6e395348 100644
--- a/pkgs/development/tools/misc/elfkickers/default.nix
+++ b/pkgs/development/tools/misc/elfkickers/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://www.muppetlabs.com/~breadbox/software/elfkickers.html";
-    description = "A collection of programs that access and manipulate ELF files";
+    description = "Collection of programs that access and manipulate ELF files";
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.dtzWill ];
diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix
index 6de0780d5a61c..a5a812aa034af 100644
--- a/pkgs/development/tools/misc/elfutils/default.nix
+++ b/pkgs/development/tools/misc/elfutils/default.nix
@@ -96,7 +96,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://sourceware.org/elfutils/";
-    description = "A set of utilities to handle ELF objects";
+    description = "Set of utilities to handle ELF objects";
     platforms = platforms.linux;
     # https://lists.fedorahosted.org/pipermail/elfutils-devel/2014-November/004223.html
     badPlatforms = [ lib.systems.inspect.platformPatterns.isStatic ];
diff --git a/pkgs/development/tools/misc/epm/default.nix b/pkgs/development/tools/misc/epm/default.nix
index b83bb8d332839..93a6a6d7343b7 100644
--- a/pkgs/development/tools/misc/epm/default.nix
+++ b/pkgs/development/tools/misc/epm/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ rpm ];
 
   meta = with lib; {
-    description = "The ESP Package Manager generates distribution archives for a variety of platforms";
+    description = "ESP Package Manager generates distribution archives for a variety of platforms";
     homepage = "https://jimjag.github.io/epm/";
     license = licenses.asl20;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/development/tools/misc/ezno/default.nix b/pkgs/development/tools/misc/ezno/default.nix
index 89654eef5c566..559622bf7da21 100644
--- a/pkgs/development/tools/misc/ezno/default.nix
+++ b/pkgs/development/tools/misc/ezno/default.nix
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   cargoBuildFlags = [ "--bin" "ezno" ];
 
   meta = with lib; {
-    description = "A JavaScript compiler and TypeScript checker with a focus on static analysis and runtime performance";
+    description = "JavaScript compiler and TypeScript checker with a focus on static analysis and runtime performance";
     mainProgram = "ezno";
     homepage = "https://github.com/kaleidawave/ezno";
     changelog = "https://github.com/kaleidawave/ezno/releases/tag/${src.rev}";
diff --git a/pkgs/development/tools/misc/fswatch/default.nix b/pkgs/development/tools/misc/fswatch/default.nix
index 0422da98839b3..afeac90c58c05 100644
--- a/pkgs/development/tools/misc/fswatch/default.nix
+++ b/pkgs/development/tools/misc/fswatch/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib; {
-    description = "A cross-platform file change monitor with multiple backends";
+    description = "Cross-platform file change monitor with multiple backends";
     mainProgram = "fswatch";
     homepage = "https://github.com/emcrisostomo/fswatch";
     license = licenses.gpl3Plus;
diff --git a/pkgs/development/tools/misc/funzzy/default.nix b/pkgs/development/tools/misc/funzzy/default.nix
index debb6f04fc1cd..c05def18404bd 100644
--- a/pkgs/development/tools/misc/funzzy/default.nix
+++ b/pkgs/development/tools/misc/funzzy/default.nix
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A lightweight watcher";
+    description = "Lightweight watcher";
     homepage = "https://github.com/cristianoliveira/funzzy";
     changelog = "https://github.com/cristianoliveira/funzzy/releases/tag/${src.rev}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index e607967a1205f..263196dab5efa 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, targetPackages
 
 # Build time
-, fetchurl, fetchpatch, pkg-config, perl, texinfo, setupDebugInfoDirs, buildPackages
+, fetchurl, pkg-config, perl, texinfo, setupDebugInfoDirs, buildPackages
 
 # Run time
 , ncurses, readline, gmp, mpfr, expat, libipt, zlib, zstd, xz, dejagnu, sourceHighlight, libiconv
@@ -140,7 +140,9 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "The GNU Project debugger";
+    mainProgram = "gdb";
+
+    description = "GNU Project debugger";
 
     longDescription = ''
       GDB, the GNU Project debugger, allows you to see what is going
diff --git a/pkgs/development/tools/misc/gdbgui/default.nix b/pkgs/development/tools/misc/gdbgui/default.nix
index 8702fc32b4813..cc5b0fde7219b 100644
--- a/pkgs/development/tools/misc/gdbgui/default.nix
+++ b/pkgs/development/tools/misc/gdbgui/default.nix
@@ -43,7 +43,7 @@ buildPythonApplication rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A browser-based frontend for GDB";
+    description = "Browser-based frontend for GDB";
     mainProgram = "gdbgui";
     homepage = "https://www.gdbgui.com/";
     license = licenses.gpl3;
diff --git a/pkgs/development/tools/misc/gef/default.nix b/pkgs/development/tools/misc/gef/default.nix
index 9b9d81ca5c0ec..fd3071a081759 100644
--- a/pkgs/development/tools/misc/gef/default.nix
+++ b/pkgs/development/tools/misc/gef/default.nix
@@ -21,13 +21,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "gef";
-  version = "2024.01";
+  version = "2024.06";
 
   src = fetchFromGitHub {
     owner = "hugsy";
     repo = "gef";
     rev = version;
-    sha256 = "sha256-uSUr2NFvj7QIlvG3RWYm7A9Xx7a4JYkbAQld7c7+C7g=";
+    sha256 = "sha256-fo8hC2T2WDcG0MQffPm2QBPR89EPiqctkUJC40PeyWg=";
   };
 
   dontBuild = true;
@@ -74,7 +74,7 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A modern experience for GDB with advanced debugging features for exploit developers & reverse engineers";
+    description = "Modern experience for GDB with advanced debugging features for exploit developers & reverse engineers";
     mainProgram = "gef";
     homepage = "https://github.com/hugsy/gef";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/gf/default.nix b/pkgs/development/tools/misc/gf/default.nix
index 47b20cfe92e5d..4b7c40bf983d1 100644
--- a/pkgs/development/tools/misc/gf/default.nix
+++ b/pkgs/development/tools/misc/gf/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "A GDB Frontend";
+    description = "GDB Frontend";
     homepage = "https://github.com/nakst/gf";
     license = licenses.mit;
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix
index 66de4ebf8b02e..5dea7f0595574 100644
--- a/pkgs/development/tools/misc/gnum4/default.nix
+++ b/pkgs/development/tools/misc/gnum4/default.nix
@@ -16,12 +16,17 @@ stdenv.mkDerivation rec {
 
   # https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/m4/m4-1.4.19-r1.ebuild
   patches = lib.optional stdenv.hostPlatform.isLoongArch64 ./loong-fix-build.patch;
-  postPatch = if stdenv.hostPlatform.isLoongArch64 then ''
+  # this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion
+  # necessary for FreeBSD code path in configure
+  postPatch = ''
+    substituteInPlace ./build-aux/config.guess --replace-fail /usr/bin/uname uname
+  '' + lib.optionalString stdenv.hostPlatform.isLoongArch64 ''
     touch ./aclocal.m4 ./lib/config.hin ./configure ./doc/stamp-vti || die
     find . -name Makefile.in -exec touch {} + || die
-  '' else null;
+  '';
 
   strictDeps = true;
+
   enableParallelBuilding = true;
 
   doCheck = false;
diff --git a/pkgs/development/tools/misc/grpc-client-cli/default.nix b/pkgs/development/tools/misc/grpc-client-cli/default.nix
index 5e2e50c7b27f0..19cc8803cee43 100644
--- a/pkgs/development/tools/misc/grpc-client-cli/default.nix
+++ b/pkgs/development/tools/misc/grpc-client-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "grpc-client-cli";
-  version = "1.20.2";
+  version = "1.20.3";
 
   src = fetchFromGitHub {
     owner = "vadimi";
     repo = "grpc-client-cli";
     rev = "v${version}";
-    sha256 = "sha256-CD+p/Au+MVOV93VPQL2uD8DNKl3XfoJhOjdKcx8DFwQ=";
+    sha256 = "sha256-aPmHvi81jqRKO3aY6bZ9bMJmk/HZVl/8MAUZN3QJByQ=";
   };
 
-  vendorHash = "sha256-e8lz7IrGjx7oXLuNuIhwHW2IP4jfR9XB4HVDjpeH7/w=";
+  vendorHash = "sha256-ruC/JE4+ftkzmgDxg2bRxTszjBtDtKQQGvyFD9H0O3I=";
 
   meta = with lib; {
     description = "generic gRPC command line client";
diff --git a/pkgs/development/tools/misc/highlight-assertions/default.nix b/pkgs/development/tools/misc/highlight-assertions/default.nix
index 5db0a722dc10a..5dd965d6c0962 100644
--- a/pkgs/development/tools/misc/highlight-assertions/default.nix
+++ b/pkgs/development/tools/misc/highlight-assertions/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   RUSTC_BOOTSTRAP = 1;
 
   meta = with lib; {
-    description = "A tool for unit testing tree sitter highlights for nvim-treesitter";
+    description = "Tool for unit testing tree sitter highlights for nvim-treesitter";
     mainProgram = "highlight-assertions";
     homepage = "https://github.com/thehamsta/highlight-assertions";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/misc/hydra-cli/default.nix b/pkgs/development/tools/misc/hydra-cli/default.nix
index 104f105ac4ce5..46c0c9088a18e 100644
--- a/pkgs/development/tools/misc/hydra-cli/default.nix
+++ b/pkgs/development/tools/misc/hydra-cli/default.nix
@@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec {
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
-    description = "A client for the Hydra CI";
+    description = "Client for the Hydra CI";
     mainProgram = "hydra-cli";
     homepage = "https://github.com/nlewo/hydra-cli";
     license = with licenses; [ mit ];
diff --git a/pkgs/development/tools/misc/hydra/unstable.nix b/pkgs/development/tools/misc/hydra/unstable.nix
index 972f137034415..ce9a45b1f049b 100644
--- a/pkgs/development/tools/misc/hydra/unstable.nix
+++ b/pkgs/development/tools/misc/hydra/unstable.nix
@@ -256,6 +256,6 @@ stdenv.mkDerivation rec {
     homepage = "https://nixos.org/hydra";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ lheckemann mindavi ] ++ teams.helsinki-systems.members;
+    maintainers = with maintainers; [ mindavi ] ++ teams.helsinki-systems.members;
   };
 }
diff --git a/pkgs/development/tools/misc/igprof/default.nix b/pkgs/development/tools/misc/igprof/default.nix
index a4e170f31b2ae..fc2036ec9bbd7 100644
--- a/pkgs/development/tools/misc/igprof/default.nix
+++ b/pkgs/development/tools/misc/igprof/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     broken = (stdenv.isLinux && stdenv.isAarch64);
-    description = "The Ignominous Profiler";
+    description = "Ignominous Profiler";
 
     longDescription = ''
       IgProf is a fast and light weight profiler. It correctly handles
diff --git a/pkgs/development/tools/misc/indent/default.nix b/pkgs/development/tools/misc/indent/default.nix
index c7cef90d0a439..8a371a56a3ff3 100644
--- a/pkgs/development/tools/misc/indent/default.nix
+++ b/pkgs/development/tools/misc/indent/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
   passthru.tests.static = pkgsStatic.indent;
   meta = {
     homepage = "https://www.gnu.org/software/indent/";
-    description = "A source code reformatter";
+    description = "Source code reformatter";
     mainProgram = "indent";
     license = lib.licenses.gpl3Plus;
     maintainers = [ lib.maintainers.mmahut ];
diff --git a/pkgs/development/tools/misc/jcli/default.nix b/pkgs/development/tools/misc/jcli/default.nix
index f5d9d7a858998..2b7f14284f164 100644
--- a/pkgs/development/tools/misc/jcli/default.nix
+++ b/pkgs/development/tools/misc/jcli/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "jcli";
diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix
index 50c064cadfd0e..df07a2f6a5bfe 100644
--- a/pkgs/development/tools/misc/libtool/libtool2.nix
+++ b/pkgs/development/tools/misc/libtool/libtool2.nix
@@ -1,5 +1,6 @@
-{ lib, stdenv, fetchurl, fetchpatch, m4
+{ lib, stdenv, fetchurl, m4
 , runtimeShell
+, updateAutotoolsGnuConfigScriptsHook
 , file
 }:
 
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
   # As libtool is an early bootstrap dependency try hard not to
   # add autoconf and automake or help2man dependencies here. That way we can
   # avoid pulling in perl and get away with just an `m4` depend.
-  nativeBuildInputs = [ m4 file ];
+  nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook m4 file ];
   propagatedBuildInputs = [ m4 file ];
 
   # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
diff --git a/pkgs/development/tools/misc/licenseclassifier/default.nix b/pkgs/development/tools/misc/licenseclassifier/default.nix
index 11e986c245b05..369adafa10b4f 100644
--- a/pkgs/development/tools/misc/licenseclassifier/default.nix
+++ b/pkgs/development/tools/misc/licenseclassifier/default.nix
@@ -22,7 +22,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
-    description = "A License Classifier";
+    description = "License Classifier";
     mainProgram = "identify_license";
     longDescription = ''
       The license classifier can analyze text to determine what type of license
diff --git a/pkgs/development/tools/misc/linuxkit/default.nix b/pkgs/development/tools/misc/linuxkit/default.nix
index ebad2ed30f3b8..87ca62ac5f480 100644
--- a/pkgs/development/tools/misc/linuxkit/default.nix
+++ b/pkgs/development/tools/misc/linuxkit/default.nix
@@ -52,7 +52,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A toolkit for building secure, portable and lean operating systems for containers";
+    description = "Toolkit for building secure, portable and lean operating systems for containers";
     mainProgram = "linuxkit";
     license = licenses.asl20;
     homepage = "https://github.com/linuxkit/linuxkit";
diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix
index 4cce674820af0..b43030594d3d1 100644
--- a/pkgs/development/tools/misc/lsof/default.nix
+++ b/pkgs/development/tools/misc/lsof/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/lsof-org/lsof";
-    description = "A tool to list open files";
+    description = "Tool to list open files";
     mainProgram = "lsof";
     longDescription = ''
       List open files. Can show what process has opened some file,
diff --git a/pkgs/development/tools/misc/lttng-ust/generic.nix b/pkgs/development/tools/misc/lttng-ust/generic.nix
index 89bc888828e20..24d022e4d8512 100644
--- a/pkgs/development/tools/misc/lttng-ust/generic.nix
+++ b/pkgs/development/tools/misc/lttng-ust/generic.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     mainProgram = "lttng-gen-tp";
     homepage = "https://lttng.org/";
     license = with licenses; [ lgpl21Only gpl2Only mit ];
-    platforms = platforms.linux;
+    platforms = lib.intersectLists platforms.linux liburcu.meta.platforms;
     maintainers = [ maintainers.bjornfor ];
   };
 
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index 49d3eb280a071..996bfeacb2d16 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -1,14 +1,20 @@
+/*
+This is a minimal/manual luarocks derivation used by `buildLuarocksPackage` to install lua packages.
+
+As a nix user, you should use the generated lua.pkgs.luarocks that contains a luarocks manifest
+which makes it recognizable to luarocks.
+Generating the manifest for luarocks_bootstrap seemed too hackish, which is why we end up
+with two "luarocks" derivations.
+
+*/
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , curl
 , makeWrapper
 , which
 , unzip
 , lua
-, file
-, nix-prefetch-git
   # for 'luarocks pack'
 , zip
 , nix-update-script
@@ -18,14 +24,14 @@
 }:
 
 stdenv.mkDerivation (finalAttrs: {
-  pname = "luarocks";
-  version = "3.11.0";
+  pname = "luarocks_bootstrap";
+  version = "3.11.1";
 
   src = fetchFromGitHub {
     owner = "luarocks";
     repo = "luarocks";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-mSwwBuLWoMT38iYaV/BTdDmmBz4heTRJzxBHC0Vrvc4=";
+    hash = "sha256-GglygI8HP+aDFEuucOkjQ2Pgfv4+jW+og+2vL3KoZCQ=";
   };
 
   patches = [
@@ -60,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: {
   postInstall = ''
     sed -e "1s@.*@#! ${lua}/bin/lua$LUA_SUFFIX@" -i "$out"/bin/*
     substituteInPlace $out/etc/luarocks/* \
-     --replace '${lua.luaOnBuild}' '${lua}'
+     --replace-fail '${lua.luaOnBuild}' '${lua}'
    ''
     + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
     installShellCompletion --cmd luarocks \
@@ -81,8 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
               --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
               --suffix LUA_CPATH ";" "$(echo "$out"/lib/lua/*/)?.so" \
               --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
-              --suffix PATH : ${lib.makeBinPath ([ unzip ] ++
-                lib.optionals (finalAttrs.pname == "luarocks-nix") [ file nix-prefetch-git ])}
+              --suffix PATH : ${lib.makeBinPath finalAttrs.propagatedBuildInputs}
         }
     done
   '';
@@ -109,9 +114,10 @@ stdenv.mkDerivation (finalAttrs: {
   };
 
   meta = with lib; {
-    description = "A package manager for Lua";
+    description = "Package manager for Lua";
     license = licenses.mit;
     maintainers = with maintainers; [ raskin teto ];
+    mainProgram = "luarocks";
     platforms = platforms.linux ++ platforms.darwin;
     downloadPage = "http://luarocks.org/releases/";
   };
diff --git a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
index 20acab5a8584d..d64e3c91ae7e0 100644
--- a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
+++ b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
@@ -1,23 +1,38 @@
-{ luarocks, fetchFromGitHub, unstableGitUpdater }:
+{ luarocks
+, fetchFromGitHub
+, unstableGitUpdater
+, nurl
+, file
+}:
 
 luarocks.overrideAttrs (old: {
   pname = "luarocks-nix";
-  version = "unstable-2023-10-19";
+  version = "0-unstable-2024-04-29";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "luarocks-nix";
-    rev = "4240b25b95d7165cde66fc2acaf5a0f9ad40fd0c";
-    sha256 = "sha256-dqFFYehBgK0RqH0/1GtZXq7XLGCcc3Kfadq8ICYNCWk=";
+    rev = "a473a8f479711682f5b97a72362736d96efd463b";
+    hash = "sha256-hsjv+jlLsoIDM4gB/0mFeoVu1YZ1I9ELDALLTEnlCF0=";
   };
 
+  propagatedBuildInputs = old.propagatedBuildInputs ++ [
+    file
+    nurl
+  ];
+
   patches = [ ];
 
   passthru = {
-    updateScript = unstableGitUpdater { };
+    updateScript = unstableGitUpdater {
+      # tags incompletely inherited from regular luarocks
+      hardcodeZeroVersion = true;
+    };
   };
 
-  meta = old.meta // {
+  # old.meta // { /* ... */ } doesn't update meta.position, which breaks the updateScript
+  meta = {
+    inherit (old.meta) description license maintainers platforms;
     mainProgram = "luarocks";
   };
 })
diff --git a/pkgs/development/tools/misc/mdl/default.nix b/pkgs/development/tools/misc/mdl/default.nix
index e7f280cf4cf50..105dbb6af2998 100644
--- a/pkgs/development/tools/misc/mdl/default.nix
+++ b/pkgs/development/tools/misc/mdl/default.nix
@@ -8,7 +8,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "mdl";
 
   meta = with lib; {
-    description = "A tool to check markdown files and flag style issues";
+    description = "Tool to check markdown files and flag style issues";
     homepage = "https://github.com/markdownlint/markdownlint";
     license = licenses.mit;
     maintainers = with maintainers; [ gerschtli manveru nicknovitski totoroot ];
diff --git a/pkgs/development/tools/misc/mkcert/default.nix b/pkgs/development/tools/misc/mkcert/default.nix
index 145660e3a539c..1b3355b7cc451 100644
--- a/pkgs/development/tools/misc/mkcert/default.nix
+++ b/pkgs/development/tools/misc/mkcert/default.nix
@@ -21,7 +21,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/FiloSottile/mkcert";
-    description = "A simple tool for making locally-trusted development certificates";
+    description = "Simple tool for making locally-trusted development certificates";
     mainProgram = "mkcert";
     license = licenses.bsd3;
     maintainers = [ ];
diff --git a/pkgs/development/tools/misc/n98-magerun/default.nix b/pkgs/development/tools/misc/n98-magerun/default.nix
index 08196dc041af7..c52fd68473b16 100644
--- a/pkgs/development/tools/misc/n98-magerun/default.nix
+++ b/pkgs/development/tools/misc/n98-magerun/default.nix
@@ -18,7 +18,7 @@ php81.buildComposerProject (finalAttrs: {
 
   meta = {
     changelog = "https://magerun.net/category/magerun/";
-    description = "The swiss army knife for Magento1/OpenMage developers";
+    description = "Swiss army knife for Magento1/OpenMage developers";
     homepage = "https://magerun.net/";
     license = lib.licenses.mit;
     mainProgram = "n98-magerun";
diff --git a/pkgs/development/tools/misc/n98-magerun2/default.nix b/pkgs/development/tools/misc/n98-magerun2/default.nix
index 9cd87a29ec565..7612f28b7795f 100644
--- a/pkgs/development/tools/misc/n98-magerun2/default.nix
+++ b/pkgs/development/tools/misc/n98-magerun2/default.nix
@@ -5,20 +5,20 @@
 
 php.buildComposerProject (finalAttrs: {
   pname = "n98-magerun2";
-  version = "7.3.1";
+  version = "7.4.0";
 
   src = fetchFromGitHub {
     owner = "netz98";
     repo = "n98-magerun2";
     rev = finalAttrs.version;
-    hash = "sha256-a1T4SmeOEKRW/xS2VBPLZt6r9JdtaJn8YVvfRnzGdb4=";
+    hash = "sha256-OPvyZ0r7Zt4PC+rmRtBm9EkbaE4PeovnUHrhzXUqT8E=";
   };
 
-  vendorHash = "sha256-1j0/spum4C9j/HNVlHwUehAFYJOz7YvMVlC6dtbNYK0=";
+  vendorHash = "sha256-HSkcYbDQPK1ByG8Euq9YqzK0jqjKrWO+0R4ungFDOIY=";
 
   meta = {
     changelog = "https://magerun.net/category/magerun/";
-    description = "The swiss army knife for Magento2 developers";
+    description = "Swiss army knife for Magento2 developers";
     homepage = "https://magerun.net/";
     license = lib.licenses.mit;
     mainProgram = "n98-magerun2";
diff --git a/pkgs/development/tools/misc/ninka/default.nix b/pkgs/development/tools/misc/ninka/default.nix
index cfdf1d5bb3dc0..9f0a618312bce 100644
--- a/pkgs/development/tools/misc/ninka/default.nix
+++ b/pkgs/development/tools/misc/ninka/default.nix
@@ -25,7 +25,7 @@ perlPackages.buildPerlPackage {
   '';
 
   meta = with lib; {
-    description = "A sentence based license detector";
+    description = "Sentence based license detector";
     mainProgram = "ninka";
     homepage = "http://ninka.turingmachine.org/";
     license = licenses.gpl2;
diff --git a/pkgs/development/tools/misc/nix-bisect/default.nix b/pkgs/development/tools/misc/nix-bisect/default.nix
index a4c3179e8e586..9927be16d36a0 100644
--- a/pkgs/development/tools/misc/nix-bisect/default.nix
+++ b/pkgs/development/tools/misc/nix-bisect/default.nix
@@ -1,12 +1,11 @@
 { lib
-, fetchpatch
 , fetchFromGitHub
 , python3
 }:
 
 let
   pname = "nix-bisect";
-  version = "0.4.1";
+  version = "0.4.1-unstable-2024-04-19";
 in
 python3.pkgs.buildPythonApplication {
   inherit pname version;
@@ -15,23 +14,10 @@ python3.pkgs.buildPythonApplication {
   src = fetchFromGitHub {
     owner = "timokau";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-01vj35mMakqKi5zbMIPQ+R8xdkOWbzpnigd3/SU+svw=";
+    rev = "4f26082fec0817acbfa8cc6ca4c25caaf77ddcd2";
+    hash = "sha256-zyeE1jYo/9NEG8fB4gQBAR01siP4tyLvjjHN1yUS4Ug=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Fixes compatibility with recent nix versions
-      url = "https://github.com/timokau/nix-bisect/commit/01eefe174b740cb90e48b06d67d5582d51786b96.patch";
-      hash = "sha256-Gls/NtHH7LujdEgLbcIRZ12KsJDrasXIMcHeeBVns4A=";
-    })
-    (fetchpatch {
-      # Fixes TypeError crashes associated with drvs_failed inconsistency
-      url = "https://github.com/timokau/nix-bisect/commit/9f3a17783046baae64c16f9e2be917c2603977fc.patch";
-      hash = "sha256-U9NUtgwslcgIf/wvH/WE7t0HGs2OP3wvYDKrb5j+lp0=";
-    })
-  ];
-
   propagatedBuildInputs = with python3.pkgs; [
     appdirs
     numpy
diff --git a/pkgs/development/tools/misc/nix-build-uncached/default.nix b/pkgs/development/tools/misc/nix-build-uncached/default.nix
index 4471b30fc7c0a..0aa894b3effe8 100644
--- a/pkgs/development/tools/misc/nix-build-uncached/default.nix
+++ b/pkgs/development/tools/misc/nix-build-uncached/default.nix
@@ -18,7 +18,7 @@ buildGoModule rec {
   nativeBuildInputs = [ makeWrapper ];
 
   meta = with lib; {
-    description = "A CI friendly wrapper around nix-build";
+    description = "CI friendly wrapper around nix-build";
     mainProgram = "nix-build-uncached";
     license = licenses.mit;
     homepage = "https://github.com/Mic92/nix-build-uncached";
diff --git a/pkgs/development/tools/misc/nixbang/default.nix b/pkgs/development/tools/misc/nixbang/default.nix
index cc5edb162a4c5..d4541b76ba060 100644
--- a/pkgs/development/tools/misc/nixbang/default.nix
+++ b/pkgs/development/tools/misc/nixbang/default.nix
@@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication rec {
 
   meta = {
     homepage = "https://github.com/madjar/nixbang";
-    description = "A special shebang to run scripts in a nix-shell";
+    description = "Special shebang to run scripts in a nix-shell";
     mainProgram = "nixbang";
     maintainers = [ lib.maintainers.madjar ];
     platforms = lib.platforms.all;
diff --git a/pkgs/development/tools/misc/one_gadget/default.nix b/pkgs/development/tools/misc/one_gadget/default.nix
index 4bf550cea52a8..f1fbd4a0356a8 100644
--- a/pkgs/development/tools/misc/one_gadget/default.nix
+++ b/pkgs/development/tools/misc/one_gadget/default.nix
@@ -14,7 +14,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "one_gadget";
 
   meta = with lib; {
-    description = "The best tool for finding one gadget RCE in libc.so.6";
+    description = "Best tool for finding one gadget RCE in libc.so.6";
     homepage    = "https://github.com/david942j/one_gadget";
     license     = licenses.mit;
     maintainers = with maintainers; [ artemist nicknovitski ];
diff --git a/pkgs/development/tools/misc/orogene/default.nix b/pkgs/development/tools/misc/orogene/default.nix
index 3fe98a6f43534..218fdf706885d 100644
--- a/pkgs/development/tools/misc/orogene/default.nix
+++ b/pkgs/development/tools/misc/orogene/default.nix
@@ -37,7 +37,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A package manager for tools that use node_modules";
+    description = "Package manager for tools that use node_modules";
     homepage = "https://github.com/orogene/orogene";
     changelog = "https://github.com/orogene/orogene/blob/${src.rev}/CHANGELOG.md";
     license = with licenses; [ asl20 isc ];
diff --git a/pkgs/development/tools/misc/pahole/default.nix b/pkgs/development/tools/misc/pahole/default.nix
deleted file mode 100644
index 275044ee40c0c..0000000000000
--- a/pkgs/development/tools/misc/pahole/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib
-, stdenv
-, fetchzip
-, pkg-config
-, libbpf
-, cmake
-, elfutils
-, zlib
-, argp-standalone
-, musl-obstack
-, nixosTests
-}:
-
-stdenv.mkDerivation rec {
-  pname = "pahole";
-  version = "1.26";
-  src = fetchzip {
-    url = "https://git.kernel.org/pub/scm/devel/pahole/pahole.git/snapshot/pahole-${version}.tar.gz";
-    hash = "sha256-Lf9Z4vHRFplMrUf4VhJ7EDPn+S4RaS1Emm0wyEcG2HU=";
-  };
-
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ elfutils zlib libbpf ]
-    ++ lib.optionals stdenv.hostPlatform.isMusl [
-    argp-standalone
-    musl-obstack
-  ];
-
-  patches = [ ./threading-reproducibility.patch ];
-
-  # Put libraries in "lib" subdirectory, not top level of $out
-  cmakeFlags = [ "-D__LIB=lib" "-DLIBBPF_EMBEDDED=OFF" ];
-
-  passthru.tests = {
-    inherit (nixosTests) bpf;
-  };
-
-  meta = with lib; {
-    homepage = "https://git.kernel.org/pub/scm/devel/pahole/pahole.git/";
-    description = "Shows, manipulates, and pretty-prints debugging information in DWARF, CTF, and BTF formats";
-    license = licenses.gpl2Only;
-
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ bosu martinetd ];
-  };
-}
diff --git a/pkgs/development/tools/misc/pahole/threading-reproducibility.patch b/pkgs/development/tools/misc/pahole/threading-reproducibility.patch
deleted file mode 100644
index 15893ce2d035c..0000000000000
--- a/pkgs/development/tools/misc/pahole/threading-reproducibility.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/pahole.c b/pahole.c
-index 6fc4ed6..a4e306f 100644
---- a/pahole.c
-+++ b/pahole.c
-@@ -1687,8 +1687,11 @@ static error_t pahole__options_parser(int key, char *arg,
- 		  class_name = arg;			break;
- 	case 'j':
- #if _ELFUTILS_PREREQ(0, 178)
--		  conf_load.nr_jobs = arg ? atoi(arg) :
--					    sysconf(_SC_NPROCESSORS_ONLN) * 1.1;
-+		  // Force single thread if reproducibility is desirable.
-+		  if (!getenv("SOURCE_DATE_EPOCH")) {
-+			  conf_load.nr_jobs = arg ? atoi(arg) :
-+						    sysconf(_SC_NPROCESSORS_ONLN) * 1.1;
-+		  }
- #else
- 		  fputs("pahole: Multithreading requires elfutils >= 0.178. Continuing with a single thread...\n", stderr);
- #endif
diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix
index 94c05394a9011..9af2265b8a7e9 100644
--- a/pkgs/development/tools/misc/patchelf/default.nix
+++ b/pkgs/development/tools/misc/patchelf/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/NixOS/patchelf";
     license = licenses.gpl3Plus;
-    description = "A small utility to modify the dynamic linker and RPATH of ELF executables";
+    description = "Small utility to modify the dynamic linker and RPATH of ELF executables";
     mainProgram = "patchelf";
     maintainers = [ maintainers.eelco ];
     platforms = platforms.all;
diff --git a/pkgs/development/tools/misc/patchelf/unstable.nix b/pkgs/development/tools/misc/patchelf/unstable.nix
index c2d9b2c0bedec..77a8842c1b579 100644
--- a/pkgs/development/tools/misc/patchelf/unstable.nix
+++ b/pkgs/development/tools/misc/patchelf/unstable.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv, fetchurl, autoreconfHook, fetchFromGitHub, unstableGitUpdater }:
+{ lib, stdenv, autoreconfHook, fetchFromGitHub, unstableGitUpdater }:
 
 stdenv.mkDerivation rec {
   pname = "patchelf";
-  version = "unstable-2024-01-15";
+  version = "0.18.0-unstable-2024-01-15";
 
   src = fetchFromGitHub {
     owner = "NixOS";
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/NixOS/patchelf";
     license = licenses.gpl3;
-    description = "A small utility to modify the dynamic linker and RPATH of ELF executables";
+    description = "Small utility to modify the dynamic linker and RPATH of ELF executables";
     mainProgram = "patchelf";
     maintainers = [ maintainers.eelco ];
     platforms = platforms.all;
diff --git a/pkgs/development/tools/misc/patsh/default.nix b/pkgs/development/tools/misc/patsh/default.nix
index 0e8bafc86bd78..476fe420a678f 100644
--- a/pkgs/development/tools/misc/patsh/default.nix
+++ b/pkgs/development/tools/misc/patsh/default.nix
@@ -42,7 +42,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A command-line tool for patching shell scripts inspired by resholve";
+    description = "Command-line tool for patching shell scripts inspired by resholve";
     mainProgram = "patsh";
     homepage = "https://github.com/nix-community/patsh";
     changelog = "https://github.com/nix-community/patsh/blob/v${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/misc/pest-ide-tools/default.nix b/pkgs/development/tools/misc/pest-ide-tools/default.nix
index c228508e4a60d..d3a31c8118a62 100644
--- a/pkgs/development/tools/misc/pest-ide-tools/default.nix
+++ b/pkgs/development/tools/misc/pest-ide-tools/default.nix
@@ -10,14 +10,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pest-ide-tools";
-  version = "0.3.9";
-  cargoSha256 = "sha256-kFLVzsk2ML78zWoLVX/tPz+rwBPziXmfGAcVSA7GiTA=";
+  version = "0.3.11";
+  cargoSha256 = "sha256-ZD8UQbkk5JhkanBkzo+c86DZE4aD44ma5cN97aKx97U=";
 
   src = fetchFromGitHub {
     owner = "pest-parser";
     repo = "pest-ide-tools";
     rev = "v${version}";
-    sha256 = "sha256-6051J3DQjI+Wp3iLn65GRmMnwOjGEtcWyXEKsT9k9fE=";
+    sha256 = "sha256-12/FndzUbUlgcYcwMT1OfamSKgy2q+CvtGyx5YY4IFQ=";
   };
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
@@ -31,7 +31,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "IDE support for Pest, via the LSP.";
+    description = "IDE support for Pest, via the LSP";
     homepage = "https://pest.rs";
     license = with licenses; [ mit asl20 ];
     maintainers = with maintainers; [ nickhu ];
diff --git a/pkgs/development/tools/misc/pkg-config/default.nix b/pkgs/development/tools/misc/pkg-config/default.nix
index 663f3184b221b..ae567bb01b738 100644
--- a/pkgs/development/tools/misc/pkg-config/default.nix
+++ b/pkgs/development/tools/misc/pkg-config/default.nix
@@ -19,9 +19,14 @@ stdenv.mkDerivation rec {
     ++ lib.optional stdenv.isCygwin ./2.36.3-not-win32.patch;
 
   # These three tests fail due to a (desired) behavior change from our ./requires-private.patch
-  postPatch = if vanilla then null else ''
-    rm -f check/check-requires-private check/check-gtk check/missing
-  '';
+  postPatch =
+    # this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion
+    # necessary for FreeBSD code path in configure
+    ''
+      substituteInPlace ./config.guess ./glib/config.guess --replace-fail /usr/bin/uname uname
+    '' + lib.optionalString (!vanilla) ''
+      rm -f check/check-requires-private check/check-gtk check/missing
+    '';
 
   buildInputs = [ libiconv ];
 
@@ -48,7 +53,7 @@ stdenv.mkDerivation rec {
   postInstall = ''rm -f "$out"/bin/*-pkg-config''; # clean the duplicate file
 
   meta = with lib; {
-    description = "A tool that allows packages to find out information about other packages";
+    description = "Tool that allows packages to find out information about other packages";
     homepage = "http://pkg-config.freedesktop.org/wiki/";
     platforms = platforms.all;
     license = licenses.gpl2Plus;
diff --git a/pkgs/development/tools/misc/planus/default.nix b/pkgs/development/tools/misc/planus/default.nix
index 6580c7b213041..22cc165a93a5c 100644
--- a/pkgs/development/tools/misc/planus/default.nix
+++ b/pkgs/development/tools/misc/planus/default.nix
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "An alternative compiler for flatbuffers";
+    description = "Alternative compiler for flatbuffers";
     mainProgram = "planus";
     homepage = "https://github.com/planus-org/planus";
     changelog = "https://github.com/planus-org/planus/blob/v${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/misc/polylith/default.nix b/pkgs/development/tools/misc/polylith/default.nix
index 66e274026a0c3..a9fecc09a2049 100644
--- a/pkgs/development/tools/misc/polylith/default.nix
+++ b/pkgs/development/tools/misc/polylith/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A tool used to develop Polylith based architectures in Clojure";
+    description = "Tool used to develop Polylith based architectures in Clojure";
     mainProgram = "poly";
     homepage = "https://github.com/polyfy/polylith";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
diff --git a/pkgs/development/tools/misc/premake/3.nix b/pkgs/development/tools/misc/premake/3.nix
index f0891873eb58d..9e9775dcf71eb 100644
--- a/pkgs/development/tools/misc/premake/3.nix
+++ b/pkgs/development/tools/misc/premake/3.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://premake.github.io/";
-    description = "A simple build configuration and project generation tool using lua";
+    description = "Simple build configuration and project generation tool using lua";
     mainProgram = "premake";
     license = lib.licenses.bsd3;
     platforms = lib.platforms.unix;
diff --git a/pkgs/development/tools/misc/premake/5.nix b/pkgs/development/tools/misc/premake/5.nix
index 841e8480da1ab..64ee0c37317d6 100644
--- a/pkgs/development/tools/misc/premake/5.nix
+++ b/pkgs/development/tools/misc/premake/5.nix
@@ -19,7 +19,9 @@ stdenv.mkDerivation rec {
       --replace "ca = nil" "ca = '${cacert}/etc/ssl/certs/ca-bundle.crt'"
   '' + lib.optionalString stdenv.isDarwin ''
     substituteInPlace premake5.lua \
-      --replace -mmacosx-version-min=10.4 -mmacosx-version-min=10.5
+      --replace -mmacosx-version-min=10.4 -mmacosx-version-min=10.5 \
+      --replace-fail '"-arch arm64"' '""' \
+      --replace-fail '"-arch x86_64"' '""'
   '' + lib.optionalString stdenv.hostPlatform.isStatic ''
     substituteInPlace \
       binmodules/example/premake5.lua \
@@ -34,6 +36,10 @@ stdenv.mkDerivation rec {
        make -f Bootstrap.mak linux
     '';
 
+  env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
+    "-Wno-error=implicit-function-declaration"
+  ]);
+
   installPhase = ''
     install -Dm755 bin/release/premake5 $out/bin/premake5
   '';
@@ -43,10 +49,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://premake.github.io";
-    description = "A simple build configuration and project generation tool using lua";
+    description = "Simple build configuration and project generation tool using lua";
     mainProgram = "premake5";
     license = lib.licenses.bsd3;
     platforms = lib.platforms.darwin ++ lib.platforms.linux;
-    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
 }
diff --git a/pkgs/development/tools/misc/premake/default.nix b/pkgs/development/tools/misc/premake/default.nix
index e3c4aef87bd30..9987cb2d0b9b2 100644
--- a/pkgs/development/tools/misc/premake/default.nix
+++ b/pkgs/development/tools/misc/premake/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   setupHook = ./setup-hook.sh;
 
   meta = with lib; {
-    description = "A simple build configuration and project generation tool using lua";
+    description = "Simple build configuration and project generation tool using lua";
     homepage = "https://premake.github.io/";
     license = lib.licenses.bsd3;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/tools/misc/protox/default.nix b/pkgs/development/tools/misc/protox/default.nix
index 415f19aa71b0d..d8375a8786766 100644
--- a/pkgs/development/tools/misc/protox/default.nix
+++ b/pkgs/development/tools/misc/protox/default.nix
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A rust implementation of the protobuf compiler";
+    description = "Rust implementation of the protobuf compiler";
     mainProgram = "protox";
     homepage = "https://github.com/andrewhickman/protox";
     changelog = "https://github.com/andrewhickman/protox/blob/${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/misc/ptags/default.nix b/pkgs/development/tools/misc/ptags/default.nix
index aa79801583563..b9c616b1fa317 100644
--- a/pkgs/development/tools/misc/ptags/default.nix
+++ b/pkgs/development/tools/misc/ptags/default.nix
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A parallel universal-ctags wrapper for git repository";
+    description = "Parallel universal-ctags wrapper for git repository";
     mainProgram = "ptags";
     homepage = "https://github.com/dalance/ptags";
     maintainers = with maintainers; [ pamplemousse ];
diff --git a/pkgs/development/tools/misc/python-launcher/default.nix b/pkgs/development/tools/misc/python-launcher/default.nix
index c1d07cf0c761f..a9531fbad6ded 100644
--- a/pkgs/development/tools/misc/python-launcher/default.nix
+++ b/pkgs/development/tools/misc/python-launcher/default.nix
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
   useNextest = true;
 
   meta = with lib; {
-    description = "An implementation of the `py` command for Unix-based platforms";
+    description = "Implementation of the `py` command for Unix-based platforms";
     homepage = "https://github.com/brettcannon/python-launcher";
     changelog = "https://github.com/brettcannon/python-launcher/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/regex-cli/default.nix b/pkgs/development/tools/misc/regex-cli/default.nix
index f30d02bcf29f1..eede6bb4d102b 100644
--- a/pkgs/development/tools/misc/regex-cli/default.nix
+++ b/pkgs/development/tools/misc/regex-cli/default.nix
@@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-O0KAY9XeP+LFcvAwO5SbF5yMHU1KZ77UdkAGAcx1hHc=";
 
   meta = with lib; {
-    description = "A command line tool for debugging, ad hoc benchmarking and generating regular expressions";
+    description = "Command line tool for debugging, ad hoc benchmarking and generating regular expressions";
     mainProgram = "regex-cli";
     homepage = "https://github.com/rust-lang/regex/tree/master/regex-cli";
     license = with licenses; [ asl20 mit ];
diff --git a/pkgs/development/tools/misc/remarkable/remarkable-toolchain/default.nix b/pkgs/development/tools/misc/remarkable/remarkable-toolchain/default.nix
index 2dba7768cf8c2..1ff4e5c62459b 100644
--- a/pkgs/development/tools/misc/remarkable/remarkable-toolchain/default.nix
+++ b/pkgs/development/tools/misc/remarkable/remarkable-toolchain/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A toolchain for cross-compiling to reMarkable tablets";
+    description = "Toolchain for cross-compiling to reMarkable tablets";
     homepage = "https://remarkable.engineering/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.gpl2Plus;
diff --git a/pkgs/development/tools/misc/remarkable/remarkable2-toolchain/default.nix b/pkgs/development/tools/misc/remarkable/remarkable2-toolchain/default.nix
index 2bb5e11e24327..6e6b79e8f2e92 100644
--- a/pkgs/development/tools/misc/remarkable/remarkable2-toolchain/default.nix
+++ b/pkgs/development/tools/misc/remarkable/remarkable2-toolchain/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A toolchain for cross-compiling to reMarkable 2 tablets";
+    description = "Toolchain for cross-compiling to reMarkable 2 tablets";
     homepage = "https://remarkable.engineering/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.gpl2Plus;
diff --git a/pkgs/development/tools/misc/replacement/default.nix b/pkgs/development/tools/misc/replacement/default.nix
index dde607419cae1..fd0533852aef3 100644
--- a/pkgs/development/tools/misc/replacement/default.nix
+++ b/pkgs/development/tools/misc/replacement/default.nix
@@ -27,7 +27,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "https://github.com/siriobalmelli/replacement";
-    description = "A tool to execute yaml templates and output text";
+    description = "Tool to execute yaml templates and output text";
     mainProgram = "replacement";
     longDescription = ''
         Replacement is a python utility
diff --git a/pkgs/development/tools/misc/reviewdog/default.nix b/pkgs/development/tools/misc/reviewdog/default.nix
index f01efc21d64b3..49f0413b20e71 100644
--- a/pkgs/development/tools/misc/reviewdog/default.nix
+++ b/pkgs/development/tools/misc/reviewdog/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "reviewdog";
-  version = "0.17.4";
+  version = "0.17.5";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-G2mN7f5dpE6fF5ti7JJXVk8qBiwKO/yy5cyOYBxDJNo=";
+    hash = "sha256-oRb4NjKf9XnrhiKCN2zV2syUP+N9KRbmVAMQfStJrYg=";
   };
 
-  vendorHash = "sha256-ux3nrQtY1sY4VJIeTSZAipfURspWDqnZ9YfxmFUvElI=";
+  vendorHash = "sha256-pEiMMYqGHI8jrqfdO6etkefysLAZITAl8SSp1XDLcF4=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/misc/riff/default.nix b/pkgs/development/tools/misc/riff/default.nix
index fe2e2f310fa14..d6c7ee8164b92 100644
--- a/pkgs/development/tools/misc/riff/default.nix
+++ b/pkgs/development/tools/misc/riff/default.nix
@@ -37,7 +37,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A tool that automatically provides external dependencies for software projects";
+    description = "Tool that automatically provides external dependencies for software projects";
     mainProgram = "riff";
     homepage = "https://riff.sh";
     changelog = "https://github.com/DeterminateSystems/riff/releases/tag/v${version}";
diff --git a/pkgs/development/tools/misc/rolespec/default.nix b/pkgs/development/tools/misc/rolespec/default.nix
index cd90d1cda9631..e5870d582e982 100644
--- a/pkgs/development/tools/misc/rolespec/default.nix
+++ b/pkgs/development/tools/misc/rolespec/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/nickjj/rolespec";
-    description = "A test library for testing Ansible roles";
+    description = "Test library for testing Ansible roles";
     mainProgram = "rolespec";
     longDescription = ''
       A shell based test library for Ansible that works both locally and over
diff --git a/pkgs/development/tools/misc/rsass/default.nix b/pkgs/development/tools/misc/rsass/default.nix
index 0e2e4d57823a4..b71dca0b3953e 100644
--- a/pkgs/development/tools/misc/rsass/default.nix
+++ b/pkgs/development/tools/misc/rsass/default.nix
@@ -2,15 +2,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rsass";
-  version = "0.28.8";
+  version = "0.28.10";
 
   src = fetchCrate {
     pname = "rsass-cli";
     inherit version;
-    hash = "sha256-eloTe7UHcPPmHEsGnfj3nIbZbBxSMFZdaSm5LpOh1S4=";
+    hash = "sha256-/2U1+kCRpM36r2fHB6Hditnm2dSVHh08M0RIi3AIe44=";
   };
 
-  cargoHash = "sha256-57vqVKqwQOEB33cSzGiZwadTDi7EyBBRAS4X9Euwp5Q=";
+  cargoHash = "sha256-pCQOFBs+lNdjcyOqZ/GjJyOthepnaWAM1feEpegdrDo=";
 
   meta = with lib; {
     description = "Sass reimplemented in rust with nom";
diff --git a/pkgs/development/tools/misc/samply/default.nix b/pkgs/development/tools/misc/samply/default.nix
index 44f711066be6a..a929d90652a95 100644
--- a/pkgs/development/tools/misc/samply/default.nix
+++ b/pkgs/development/tools/misc/samply/default.nix
@@ -46,7 +46,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A command line profiler for macOS and Linux";
+    description = "Command line profiler for macOS and Linux";
     mainProgram = "samply";
     homepage = "https://github.com/mstange/samply";
     changelog = "https://github.com/mstange/samply/releases/tag/samply-v${version}";
diff --git a/pkgs/development/tools/misc/scc/default.nix b/pkgs/development/tools/misc/scc/default.nix
deleted file mode 100644
index 63ef5ed345a70..0000000000000
--- a/pkgs/development/tools/misc/scc/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "scc";
-  version = "3.2.0";
-
-  src = fetchFromGitHub {
-    owner = "boyter";
-    repo = "scc";
-    rev = "v${version}";
-    hash = "sha256-ZQIOV7TznaIrgSUgc5Pyc4sz2d5MFO+RgczQq3gZevk=";
-  };
-
-  vendorHash = null;
-
-  # scc has a scripts/ sub-package that's for testing.
-  excludedPackages = [ "scripts" ];
-
-  meta = with lib; {
-    homepage = "https://github.com/boyter/scc";
-    description = "A very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go";
-    maintainers = with maintainers; [ sigma Br1ght0ne ];
-    license = with licenses; [ unlicense /* or */ mit ];
-  };
-}
diff --git a/pkgs/development/tools/misc/sccache/default.nix b/pkgs/development/tools/misc/sccache/default.nix
index 5a99ef9b35ecc..a268e1749f0dc 100644
--- a/pkgs/development/tools/misc/sccache/default.nix
+++ b/pkgs/development/tools/misc/sccache/default.nix
@@ -8,17 +8,17 @@
 }:
 
 rustPlatform.buildRustPackage rec {
-  version = "0.8.0";
+  version = "0.8.1";
   pname = "sccache";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "sccache";
     rev = "v${version}";
-    sha256 = "sha256-GKJKesvOtnZsLcYQjSsnUcolBIqqiYSX0VSZru416mk=";
+    sha256 = "sha256-sP6KTR50Ns4Yf/DGeSK7kB0dF0lraWbx948EOmsy+8c=";
   };
 
-  cargoHash = "sha256-GacjuBLlVawNRFutsjfywYHo34QKJHCPgi/QCPjcaAA=";
+  cargoHash = "sha256-6tiTgyhkPeH/oWcce1U2UsVngEfc4LKbB1zMt7meshA=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/misc/scriptisto/default.nix b/pkgs/development/tools/misc/scriptisto/default.nix
index f3a3ba18240b7..5efcd30c90183 100644
--- a/pkgs/development/tools/misc/scriptisto/default.nix
+++ b/pkgs/development/tools/misc/scriptisto/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "scriptisto";
-  version = "2.1.1";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "igor-petruk";
     repo = "scriptisto";
     rev = "v${version}";
-    hash = "sha256-WQSgN1iX26tPPaJXLtU5Eo8kFahT6g+gZKJEDT6zj1E=";
+    hash = "sha256-iaDdOFmi4kfcJSjXOcGAFG9i1SdB+K5Qz4+NDaVQALY=";
   };
 
-  cargoHash = "sha256-trDf6N7PMjxlum8Rx2TxGePM6UPzMlTU6ATyGzmFoNc=";
+  cargoHash = "sha256-LIOsl9qPKJr/ykbXeaHP6lNHGUMcw3omniSWx2FkF28=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A language-agnostic \"shebang interpreter\" that enables you to write scripts in compiled languages";
+    description = "Language-agnostic \"shebang interpreter\" that enables you to write scripts in compiled languages";
     mainProgram = "scriptisto";
     homepage = "https://github.com/igor-petruk/scriptisto";
     changelog = "https://github.com/igor-petruk/scriptisto/releases/tag/${src.rev}";
diff --git a/pkgs/development/tools/misc/seer/default.nix b/pkgs/development/tools/misc/seer/default.nix
index b797287a02dc2..385aea2e73acf 100644
--- a/pkgs/development/tools/misc/seer/default.nix
+++ b/pkgs/development/tools/misc/seer/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, cmake, gdb, qtcharts, qtbase, wrapQtAppsHook }:
+{ lib, stdenv, fetchFromGitHub, cmake, gdb, kdePackages, wrapQtAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "seer";
-  version = "1.17";
+  version = "2.4";
 
   src = fetchFromGitHub {
     owner = "epasveer";
     repo = "seer";
     rev = "v${version}";
-    sha256 = "sha256-lM6w+QwIRYP/2JDx4yynJxhVXt8SouOWgsLGXSwolIw=";
+    sha256 = "sha256-ZvoRC34496fUldL3jOdxcO/TVmfPNmmr2GkJG4gJXzk=";
   };
 
   preConfigure = ''
@@ -17,14 +17,14 @@ stdenv.mkDerivation rec {
 
   patchPhase = ''
     substituteInPlace src/{SeerGdbConfigPage,SeerMainWindow,SeerGdbWidget}.cpp \
-      --replace "/usr/bin/gdb" "${gdb}/bin/gdb"
+      --replace-fail "/usr/bin/gdb" "${gdb}/bin/gdb"
   '';
 
-  buildInputs = [ qtbase qtcharts ];
-  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+  buildInputs = with kdePackages; [ qtbase qtcharts qtsvg ];
+  nativeBuildInputs = [ cmake kdePackages.wrapQtAppsHook ];
 
   meta = with lib; {
-    description = "A Qt gui frontend for GDB";
+    description = "Qt gui frontend for GDB";
     mainProgram = "seergdb";
     homepage = "https://github.com/epasveer/seer";
     license = licenses.gpl3Only;
diff --git a/pkgs/development/tools/misc/sipp/default.nix b/pkgs/development/tools/misc/sipp/default.nix
index 43dcd2aea9b4b..414be9560b9a6 100644
--- a/pkgs/development/tools/misc/sipp/default.nix
+++ b/pkgs/development/tools/misc/sipp/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "http://sipp.sf.net";
-    description = "The SIPp testing tool";
+    description = "SIPp testing tool";
     mainProgram = "sipp";
     license = licenses.gpl3;
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/misc/spruce/default.nix b/pkgs/development/tools/misc/spruce/default.nix
index 4c03d0acfab64..0527af3eb77b4 100644
--- a/pkgs/development/tools/misc/spruce/default.nix
+++ b/pkgs/development/tools/misc/spruce/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
   vendorHash = null;
 
   meta = with lib; {
-    description = "A BOSH template merge tool";
+    description = "BOSH template merge tool";
     mainProgram = "spruce";
     homepage = "https://github.com/geofffranks/spruce";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/src-cli/default.nix b/pkgs/development/tools/misc/src-cli/default.nix
index 2d4ed5599d77a..9d7978211ce0b 100644
--- a/pkgs/development/tools/misc/src-cli/default.nix
+++ b/pkgs/development/tools/misc/src-cli/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "src-cli";
-  version = "5.3.0";
+  version = "5.4.0";
 
   src = fetchFromGitHub {
     owner = "sourcegraph";
     repo = "src-cli";
     rev = version;
-    hash = "sha256-eN+MByapusaznL3BR1WOWJ3tMtxJ4yrxrcNCHOgoL0k=";
+    hash = "sha256-EFt/CnQcwtcm8Yr8e03+cSP5hgWwamtA2dILjD/QcMM=";
   };
 
-  vendorHash = "sha256-+7/bY0qrRRZ0GNkIcuqOi4MA8wE75/HllRI6e/IQgy4=";
+  vendorHash = "sha256-QR/Gcyx+QYK9cmCfotYOTcmcPOC+2ZA2+OQOUmNNmQE=";
 
   subPackages = [
     "cmd/src"
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 3cae7fc017d45..ac780b8fc47fe 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "strace";
-  version = "6.8";
+  version = "6.9";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-umlQqWgkzfk6WE+gTwpzOJbSprxfCtn/5QXZtB6XAUk=";
+    sha256 = "sha256-2hiemQqC48o6WkYxAS9+z9SJ2rRZhU2C2Mr2qGXBNWo=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://strace.io/";
-    description = "A system call tracer for Linux";
+    description = "System call tracer for Linux";
     license =  with licenses; [ lgpl21Plus gpl2Plus ]; # gpl2Plus is for the test suite
     platforms = platforms.linux;
     maintainers = with maintainers; [ globin ma27 qyliss ];
diff --git a/pkgs/development/tools/misc/swig/2.x.nix b/pkgs/development/tools/misc/swig/2.x.nix
index ac03372d97610..fd8e2a368417f 100644
--- a/pkgs/development/tools/misc/swig/2.x.nix
+++ b/pkgs/development/tools/misc/swig/2.x.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0khm9gh5pczfcihr0pbicaicc4v9kjm5ip2alvkhmbb3ga6njkcm";
   };
 
+  # pcre-config isn't on PATH when cross-building
+  PCRE_CONFIG = "${pcre.dev}/bin/pcre-config";
   nativeBuildInputs = [ autoconf automake libtool bison ];
   buildInputs = [ pcre ];
 
diff --git a/pkgs/development/tools/misc/swig/3.x.nix b/pkgs/development/tools/misc/swig/3.x.nix
index f50c02d3e0cdf..4b266044ff847 100644
--- a/pkgs/development/tools/misc/swig/3.x.nix
+++ b/pkgs/development/tools/misc/swig/3.x.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "An interface compiler that connects C/C++ code to higher-level languages";
+    description = "Interface compiler that connects C/C++ code to higher-level languages";
     homepage = "https://swig.org/";
     # Different types of licenses available: http://www.swig.org/Release/LICENSE .
     license = licenses.gpl3Plus;
diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix
index 6bba1ebfd6118..fa39c310a269f 100644
--- a/pkgs/development/tools/misc/sysbench/default.nix
+++ b/pkgs/development/tools/misc/sysbench/default.nix
@@ -5,7 +5,6 @@
 , pkg-config
 , libmysqlclient
 , libaio
-, libck
 , luajit
 # For testing:
 , testers
@@ -17,7 +16,7 @@ stdenv.mkDerivation rec {
   version = "1.0.20";
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ libmysqlclient luajit libck ] ++ lib.optionals stdenv.isLinux [ libaio ];
+  buildInputs = [ libmysqlclient luajit ] ++ lib.optionals stdenv.isLinux [ libaio ];
   depsBuildBuild = [ pkg-config ];
 
   src = fetchFromGitHub {
@@ -33,11 +32,30 @@ stdenv.mkDerivation rec {
     # The bundled version does not build on aarch64-darwin:
     # https://github.com/akopytov/sysbench/issues/416
     "--with-system-luajit"
-    "--with-system-ck"
     "--with-mysql-includes=${lib.getDev libmysqlclient}/include/mysql"
     "--with-mysql-libs=${libmysqlclient}/lib/mysql"
   ];
 
+  # We cannot use the regular nixpkgs ck here, since it has very
+  # different performance characteristics than the vendored one.
+  # On the downside the vendored libck version require more fixes for cross-compilation.
+  # Sysbench related on statically linked vendored libck.
+  postPatch = ''
+    substituteInPlace \
+      third_party/concurrency_kit/ck/configure \
+        --replace-fail \
+          'COMPILER=`./.1 2> /dev/null`' \
+          "COMPILER=${if stdenv.cc.isGNU then "gcc" else if stdenv.cc.isClang then "clang" else throw "Unsupported compiler"}" \
+        --replace-fail \
+          'PLATFORM=`uname -m 2> /dev/null`' \
+          "PLATFORM=${stdenv.hostPlatform.parsed.cpu.name}"
+    substituteInPlace \
+      third_party/concurrency_kit/ck/src/Makefile.in \
+        --replace-fail \
+          "ar rcs" \
+          "${stdenv.cc.targetPrefix}ar rcs"
+  '';
+
   passthru.tests = {
     versionTest = testers.testVersion {
       package = sysbench;
diff --git a/pkgs/development/tools/misc/terramate/default.nix b/pkgs/development/tools/misc/terramate/default.nix
index b6efe2732dcac..880183c8bdf60 100644
--- a/pkgs/development/tools/misc/terramate/default.nix
+++ b/pkgs/development/tools/misc/terramate/default.nix
@@ -6,22 +6,25 @@
 
 buildGoModule rec {
   pname = "terramate";
-  version = "0.4.2";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "terramate-io";
     repo = "terramate";
     rev = "v${version}";
-    hash = "sha256-aOKUC1FtDDhdUbPUSLW6GrSwh6r29Y2ObC6y487W4Zc=";
+    hash = "sha256-jcmOS81iPzy1ul0Cj/SiJk84AUIq7mLI+CmspuPit+o=";
   };
 
-  vendorHash = "sha256-gl5xsaSkGXlh+MfieVBPHGAbYZVF3GBbIkmvVhlJvqw=";
+  vendorHash = "sha256-Na2XDPSwgwWTQrweslAtSOh2+B/ZFaPIdy8ssAFWkGs=";
 
   # required for version info
   nativeBuildInputs = [ git ];
 
   ldflags = [ "-extldflags" "-static" ];
 
+  # Disable failing E2E tests preventing the package from building
+  excludedPackages = [ "./cmd/terramate/e2etests/cloud" "./cmd/terramate/e2etests/core" ];
+
   meta = with lib; {
     description = "Adds code generation, stacks, orchestration, change detection, data sharing and more to Terraform";
     homepage = "https://github.com/terramate-io/terramate";
diff --git a/pkgs/development/tools/misc/terser/default.nix b/pkgs/development/tools/misc/terser/default.nix
index faffc0c0533ef..9fe2e386b7ce7 100644
--- a/pkgs/development/tools/misc/terser/default.nix
+++ b/pkgs/development/tools/misc/terser/default.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "terser";
-  version = "5.30.4";
+  version = "5.31.0";
 
   src = fetchFromGitHub {
     owner = "terser";
     repo = "terser";
     rev = "v${version}";
-    hash = "sha256-d0zxwUvXa+Nm9p8QkhBhXl73XfJ+dxxt+GHkFtI8Zuk=";
+    hash = "sha256-rZYzeNBUaimetn/NRugsx6Czc0NxMzAKN58DRcae7pM=";
   };
 
-  npmDepsHash = "sha256-7j3hMDVktQxolCMM27SH7y5ZtexnwF//ccilVZ0w5l8=";
+  npmDepsHash = "sha256-SKL//hww6I3RDkqEUBrM0xDSuoPOCArvKKiBz68JtRo=";
 
   meta = with lib; {
     description = "JavaScript parser, mangler and compressor toolkit for ES6+";
diff --git a/pkgs/development/tools/misc/tet/default.nix b/pkgs/development/tools/misc/tet/default.nix
index 6bfcb3129236e..a3f5942a6bfdf 100644
--- a/pkgs/development/tools/misc/tet/default.nix
+++ b/pkgs/development/tools/misc/tet/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation ({
   installPhase = "cd src; make install; cd -; cp -vr $PWD $out";
 
   meta = {
-    description = "The Test Environment Toolkit is used in test applications like The Open Group's UNIX Certification program and the Free Standards Group's LSB Certification program";
+    description = "Test Environment Toolkit is used in test applications like The Open Group's UNIX Certification program and the Free Standards Group's LSB Certification program";
     homepage = "http://tetworks.opengroup.org/Products/tet.htm";
     license = lib.licenses.artistic1;
     platforms = lib.platforms.unix;
diff --git a/pkgs/development/tools/misc/texinfo/4.13a.nix b/pkgs/development/tools/misc/texinfo/4.13a.nix
index b8da38ace6fb4..c6036c069d0ab 100644
--- a/pkgs/development/tools/misc/texinfo/4.13a.nix
+++ b/pkgs/development/tools/misc/texinfo/4.13a.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, texinfo, ncurses, xz }:
+{ stdenv, fetchurl, texinfo, ncurses, xz, lib }:
 
 stdenv.mkDerivation rec {
   pname = "texinfo";
@@ -12,6 +12,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses ];
   nativeBuildInputs = [ xz ];
 
+  env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
+    "-Wno-error=implicit-function-declaration"
+  ]);
+
   # Disabled because we don't have zdiff in the stdenv bootstrap.
   #doCheck = true;
 
diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix
index d8d63088ee7ea..f3f2e93892960 100644
--- a/pkgs/development/tools/misc/texinfo/common.nix
+++ b/pkgs/development/tools/misc/texinfo/common.nix
@@ -1,7 +1,7 @@
 { version, sha256, patches ? [] }:
 
-{ lib, stdenv, buildPackages, fetchurl, perl, xz, libintl, bash
-, gnulib, gawk
+{ lib, stdenv, buildPackages, fetchurl, perl, libintl, bash
+, updateAutotoolsGnuConfigScriptsHook, gnulib, gawk, freebsd, libiconv
 
 # we are a dependency of gcc, this simplifies bootstraping
 , interactive ? false, ncurses, procps
@@ -13,11 +13,10 @@
 # files.
 
 let
+  inherit (lib) getDev getLib optional optionals optionalString;
   crossBuildTools = stdenv.hostPlatform != stdenv.buildPlatform;
 in
 
-with lib;
-
 stdenv.mkDerivation {
   pname = "texinfo${optionalString interactive "-interactive"}";
   inherit version;
@@ -50,7 +49,8 @@ stdenv.mkDerivation {
   # A native compiler is needed to build tools needed at build time
   depsBuildBuild = [ buildPackages.stdenv.cc perl ];
 
-  buildInputs = [ xz.bin bash libintl ]
+  nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
+  buildInputs = [ bash libintl ]
     ++ optionals stdenv.isSunOS [ libiconv gawk ]
     ++ optional interactive ncurses;
 
@@ -64,7 +64,8 @@ stdenv.mkDerivation {
   installFlags = [ "TEXMF=$(out)/texmf-dist" ];
   installTargets = [ "install" "install-tex" ];
 
-  nativeCheckInputs = [ procps ];
+  nativeCheckInputs = [ procps ]
+    ++ optionals stdenv.buildPlatform.isFreeBSD [ freebsd.locale ];
 
   doCheck = interactive
     && !stdenv.isDarwin
@@ -83,8 +84,8 @@ stdenv.mkDerivation {
     done
   '';
 
-  meta = {
-    description = "The GNU documentation system";
+  meta = with lib; {
+    description = "GNU documentation system";
     homepage = "https://www.gnu.org/software/texinfo/";
     changelog = "https://git.savannah.gnu.org/cgit/texinfo.git/plain/NEWS";
     license = licenses.gpl3Plus;
diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix
index 5505273d8566e..463efbd198dbd 100644
--- a/pkgs/development/tools/misc/texlab/default.nix
+++ b/pkgs/development/tools/misc/texlab/default.nix
@@ -15,16 +15,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "texlab";
-  version = "5.16.0";
+  version = "5.16.1";
 
   src = fetchFromGitHub {
     owner = "latex-lsp";
     repo = "texlab";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hdco5A6qUUs/kTXdaZKo9WhMq9FcbJyDwUauK4IElIA=";
+    hash = "sha256-oXROZdnmkqb0nd2CdLJO/KYkoe+BriYlfMJXe1yKGTA=";
   };
 
-  cargoHash = "sha256-MlV6+D6fpuIkLGd2lcFmfIXPtJSr5wV9njlqFoANs8o=";
+  cargoHash = "sha256-4GWoTHSQD7DnAsiUWEF2TX+2r3XD3t/9+j/PGL7Haq8=";
 
   outputs = [ "out" ] ++ lib.optional (!isCross) "man";
 
@@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec {
   # generate the man page
   postInstall = lib.optionalString (!isCross) ''
     # TexLab builds man page separately in CI:
-    # https://github.com/latex-lsp/texlab/blob/v5.16.0/.github/workflows/publish.yml#L117-L121
+    # https://github.com/latex-lsp/texlab/blob/v5.16.1/.github/workflows/publish.yml#L117-L121
     help2man --no-info "$out/bin/texlab" > texlab.1
     installManPage texlab.1
   '';
@@ -49,7 +49,7 @@ rustPlatform.buildRustPackage rec {
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
-    description = "An implementation of the Language Server Protocol for LaTeX";
+    description = "Implementation of the Language Server Protocol for LaTeX";
     homepage = "https://github.com/latex-lsp/texlab";
     changelog = "https://github.com/latex-lsp/texlab/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/tie/default.nix b/pkgs/development/tools/misc/tie/default.nix
index 70d64af371860..2db093cf018a7 100644
--- a/pkgs/development/tools/misc/tie/default.nix
+++ b/pkgs/development/tools/misc/tie/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildPhase = ''
-    ${stdenv.cc.targetPrefix}cc tie.c -o tie
+    ${stdenv.cc.targetPrefix}cc -std=c89 tie.c -o tie
   '';
 
   installPhase = ''
diff --git a/pkgs/development/tools/misc/tokei/default.nix b/pkgs/development/tools/misc/tokei/default.nix
index 3472a21f51dd2..8d9a63fcf550c 100644
--- a/pkgs/development/tools/misc/tokei/default.nix
+++ b/pkgs/development/tools/misc/tokei/default.nix
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
   buildFeatures = [ "all" ];
 
   meta = with lib; {
-    description = "A program that allows you to count your code, quickly";
+    description = "Program that allows you to count your code, quickly";
     longDescription = ''
       Tokei is a program that displays statistics about your code. Tokei will show number of files, total lines within those files and code, comments, and blanks grouped by language.
     '';
diff --git a/pkgs/development/tools/misc/topiary/default.nix b/pkgs/development/tools/misc/topiary/default.nix
index 467cd8cbacd81..49fc2081d4fe0 100644
--- a/pkgs/development/tools/misc/topiary/default.nix
+++ b/pkgs/development/tools/misc/topiary/default.nix
@@ -44,7 +44,7 @@ rustPlatform.buildRustPackage rec {
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
-    description = "A uniform formatter for simple languages, as part of the Tree-sitter ecosystem";
+    description = "Uniform formatter for simple languages, as part of the Tree-sitter ecosystem";
     mainProgram = "topiary";
     homepage = "https://github.com/tweag/topiary";
     changelog = "https://github.com/tweag/topiary/blob/${src.rev}/CHANGELOG.md";
diff --git a/pkgs/development/tools/misc/ttags/default.nix b/pkgs/development/tools/misc/ttags/default.nix
index c765d0c308d4c..b95bc53e2bea5 100644
--- a/pkgs/development/tools/misc/ttags/default.nix
+++ b/pkgs/development/tools/misc/ttags/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchFromGitHub, rustPlatform, testers, ttags }:
-let version = "0.3.0";
+let version = "0.4.1";
 in rustPlatform.buildRustPackage {
   pname = "ttags";
   inherit version;
@@ -8,10 +8,10 @@ in rustPlatform.buildRustPackage {
     owner = "npezza93";
     repo = "ttags";
     rev = "${version}";
-    hash = "sha256-yqrCcA/+FyGPpX3hhULiwhMfrDWjq+rzT04M+o9ry5s=";
+    hash = "sha256-yKg0KUA/Wa7B/sU1uxgGQR0Wat/bFv3ascqnUCdWKw0=";
   };
 
-  cargoHash = "sha256-jW3xIlo2cN5aoEUp3FxN4pwGFvlg50i5RMNgQopGb88=";
+  cargoHash = "sha256-MZ9QRF5yNw+YtSEu+Qc/J3Ap7+nRDZT7aitunk+x38Y=";
 
   passthru.tests.version = testers.testVersion {
     package = ttags;
diff --git a/pkgs/development/tools/misc/typical/default.nix b/pkgs/development/tools/misc/typical/default.nix
index 8c094a2e1f18f..9eb303065ab8a 100644
--- a/pkgs/development/tools/misc/typical/default.nix
+++ b/pkgs/development/tools/misc/typical/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typical";
-  version = "0.9.7";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "stepchowfun";
     repo = "typical";
     rev = "v${version}";
-    hash = "sha256-UoTzgYxLdlWefNLeege7+tlqWh4uzotO5EbcyqvU2Xo=";
+    hash = "sha256-y7PWTzD9+rkC4wZYhecmDTa3AoWl4Tgh7QXbSK4Qq5Q=";
   };
 
-  cargoHash = "sha256-GIyvwByzNKFvEdVSLo2cxuQ7JvKRFezhyKQrWjbj7Kk=";
+  cargoHash = "sha256-U6dRk8fqhxxMbu283jvkjGMjbIOYqy9jN64M2VmdZ/g=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/development/tools/misc/uncrustify/default.nix b/pkgs/development/tools/misc/uncrustify/default.nix
index a8fef714cadac..519580507a6b6 100644
--- a/pkgs/development/tools/misc/uncrustify/default.nix
+++ b/pkgs/development/tools/misc/uncrustify/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "uncrustify";
-  version = "0.78.1";
+  version = "0.79.0";
 
   src = fetchFromGitHub {
     owner = "uncrustify";
     repo = "uncrustify";
     rev = "uncrustify-${version}";
-    sha256 = "sha256-L+YEVZC7sIDYuCM3xpSfZLjA3B8XsW5hi+zV2NEgXTs=";
+    sha256 = "sha256-M9LfLWpkMoCNrvnmMhFhfJhyOwbnitjpm7LKay1M0dI=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/pkgs/development/tools/misc/universal-ctags/default.nix b/pkgs/development/tools/misc/universal-ctags/default.nix
index 65f4ab67a1614..3297775bc53eb 100644
--- a/pkgs/development/tools/misc/universal-ctags/default.nix
+++ b/pkgs/development/tools/misc/universal-ctags/default.nix
@@ -68,7 +68,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     homepage = "https://docs.ctags.io/en/latest/";
-    description = "A maintained ctags implementation";
+    description = "Maintained ctags implementation";
     longDescription = ''
       Universal Ctags (abbreviated as u-ctags) is a maintained implementation of
       ctags. ctags generates an index (or tag) file of language objects found in
diff --git a/pkgs/development/tools/misc/unixbench/default.nix b/pkgs/development/tools/misc/unixbench/default.nix
index 9f4546248e5ee..d5f060af82cf5 100644
--- a/pkgs/development/tools/misc/unixbench/default.nix
+++ b/pkgs/development/tools/misc/unixbench/default.nix
@@ -6,7 +6,7 @@
 , installShellFiles
 , perl
 , xorg
-, libGL
+, libGLX
 , coreutils
 , unixtools
 , targetPackages
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ perl ] ++ lib.optionals withGL [
     xorg.libX11
     xorg.libXext
-    libGL
+    libGLX
   ];
 
   runtimeDependencies = [
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A basic indicator of the performance of a Unix-like system";
+    description = "Basic indicator of the performance of a Unix-like system";
     homepage = "https://github.com/kdlucas/byte-unixbench";
     license = licenses.gpl2Plus;
     mainProgram = "ubench";
diff --git a/pkgs/development/tools/misc/unused/default.nix b/pkgs/development/tools/misc/unused/default.nix
index b644a762908e9..56166b0c8599f 100644
--- a/pkgs/development/tools/misc/unused/default.nix
+++ b/pkgs/development/tools/misc/unused/default.nix
@@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-hCtkR20+xs1UHZP7oJVpJACVGcMQLQmSS1QE2tmIVhs=";
 
   meta = with lib; {
-    description = "A tool to identify potentially unused code";
+    description = "Tool to identify potentially unused code";
     homepage = "https://unused.codes";
     license = licenses.mit;
     maintainers = [ ];
diff --git a/pkgs/development/tools/misc/usb-modeswitch/default.nix b/pkgs/development/tools/misc/usb-modeswitch/default.nix
index 4f9dbe92d2b70..0befa7aac9d67 100644
--- a/pkgs/development/tools/misc/usb-modeswitch/default.nix
+++ b/pkgs/development/tools/misc/usb-modeswitch/default.nix
@@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
     sha256 = "18wbbxc5cfsmikba0msdvd5qlaga27b32nhrzicyd9mdddp265f2";
   };
 
-  patches = [ ./configurable-usb-modeswitch.patch ];
+  patches = [
+    ./configurable-usb-modeswitch.patch
+    ./pkg-config.patch
+  ];
 
   # Remove attempts to write to /etc and /var/lib.
   postPatch = ''
@@ -38,7 +41,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
   meta = with lib; {
-    description = "A mode switching tool for controlling 'multi-mode' USB devices";
+    description = "Mode switching tool for controlling 'multi-mode' USB devices";
     license = licenses.gpl2;
     maintainers = with maintainers; [ marcweber peterhoeg ];
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/misc/usb-modeswitch/pkg-config.patch b/pkgs/development/tools/misc/usb-modeswitch/pkg-config.patch
new file mode 100644
index 0000000000000..052ab7543eb92
--- /dev/null
+++ b/pkgs/development/tools/misc/usb-modeswitch/pkg-config.patch
@@ -0,0 +1,14 @@
+diff --git a/Makefile b/Makefile
+index 9aa7356..c5f2a87 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2,7 +2,8 @@ PROG        = usb_modeswitch
+ VERS        = 2.6.0
+ CC          ?= gcc
+ CFLAGS      += -Wall -Wno-deprecated-declarations
+-LIBS        = `pkg-config --libs --cflags libusb-1.0`
++PKG_CONFIG  ?= pkg-config
++LIBS        = `$(PKG_CONFIG) --libs --cflags libusb-1.0`
+ RM          = /bin/rm -f
+ OBJS        = usb_modeswitch.c
+ PREFIX      = $(DESTDIR)/usr
diff --git a/pkgs/development/tools/misc/vtable-dumper/default.nix b/pkgs/development/tools/misc/vtable-dumper/default.nix
index deed8e3af962e..1bb01240a2a88 100644
--- a/pkgs/development/tools/misc/vtable-dumper/default.nix
+++ b/pkgs/development/tools/misc/vtable-dumper/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/lvc/vtable-dumper";
-    description = "A tool to list content of virtual tables in a C++ shared library";
+    description = "Tool to list content of virtual tables in a C++ shared library";
     mainProgram = "vtable-dumper";
     license = licenses.lgpl21;
     maintainers = [ maintainers.bhipple ];
diff --git a/pkgs/development/tools/misc/watson-ruby/default.nix b/pkgs/development/tools/misc/watson-ruby/default.nix
index eb6c8bd761999..b0faf75892ee1 100644
--- a/pkgs/development/tools/misc/watson-ruby/default.nix
+++ b/pkgs/development/tools/misc/watson-ruby/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   passthru.updateScript = bundlerUpdateScript "watson-ruby";
 
   meta = with lib; {
-    description = "An inline issue manager";
+    description = "Inline issue manager";
     homepage    = "https://goosecode.com/watson/";
     license     = with licenses; mit;
     maintainers = with maintainers; [ robertodr nicknovitski ];
diff --git a/pkgs/development/tools/misc/xspim/default.nix b/pkgs/development/tools/misc/xspim/default.nix
index ccef80747a40d..4a040e41ab66b 100644
--- a/pkgs/development/tools/misc/xspim/default.nix
+++ b/pkgs/development/tools/misc/xspim/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A MIPS32 simulator";
+    description = "MIPS32 simulator";
     homepage = "https://spimsimulator.sourceforge.net/";
     license = licenses.bsdOriginal;
     maintainers = with maintainers; [ emilytrau ];
diff --git a/pkgs/development/tools/misc/xxgdb/default.nix b/pkgs/development/tools/misc/xxgdb/default.nix
index eee3a860e9feb..1c6eca4729a01 100644
--- a/pkgs/development/tools/misc/xxgdb/default.nix
+++ b/pkgs/development/tools/misc/xxgdb/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     broken = stdenv.isDarwin;
-    description = "A simple but powerful graphical interface to gdb";
+    description = "Simple but powerful graphical interface to gdb";
     mainProgram = "xxgdb";
     license = licenses.mit;
     maintainers = with maintainers; [ emilytrau ];
diff --git a/pkgs/development/tools/misc/yodl/default.nix b/pkgs/development/tools/misc/yodl/default.nix
index 2eee78c1c19c7..6df8827181fd2 100644
--- a/pkgs/development/tools/misc/yodl/default.nix
+++ b/pkgs/development/tools/misc/yodl/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A package that implements a pre-document language and tools to process it";
+    description = "Package that implements a pre-document language and tools to process it";
     homepage = "https://fbb-git.gitlab.io/yodl/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/development/tools/mix2nix/default.nix b/pkgs/development/tools/mix2nix/default.nix
index 4c7b7951370c7..b0d3a8c8107c9 100644
--- a/pkgs/development/tools/mix2nix/default.nix
+++ b/pkgs/development/tools/mix2nix/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   installPhase = "install -Dt $out/bin mix2nix";
 
   meta = with lib; {
-    description = "Generate nix expressions from mix.lock file.";
+    description = "Generate nix expressions from mix.lock file";
     mainProgram = "mix2nix";
     license = licenses.mit;
     maintainers = with maintainers; [ ydlr ] ++ teams.beam.members;
diff --git a/pkgs/development/tools/modd/default.nix b/pkgs/development/tools/modd/default.nix
index efd74ce98244f..af05842a252df 100644
--- a/pkgs/development/tools/modd/default.nix
+++ b/pkgs/development/tools/modd/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
-    description = "A flexible developer tool that runs processes and responds to filesystem changes";
+    description = "Flexible developer tool that runs processes and responds to filesystem changes";
     mainProgram = "modd";
     homepage = "https://github.com/cortesi/modd";
     license = licenses.mit;
diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix
deleted file mode 100644
index 0caa0513d84b9..0000000000000
--- a/pkgs/development/tools/mold/default.nix
+++ /dev/null
@@ -1,119 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, nix-update-script
-
-, cmake
-, mimalloc
-, ninja
-, tbb
-, zlib
-, zstd
-
-, buildPackages
-, clangStdenv
-, gccStdenv
-, hello
-, mold
-, mold-wrapped
-, runCommandCC
-, testers
-, useMoldLinker
-}:
-
-stdenv.mkDerivation rec {
-  pname = "mold";
-  version = "2.30.0";
-
-  src = fetchFromGitHub {
-    owner = "rui314";
-    repo = "mold";
-    rev = "v${version}";
-    hash = "sha256-VVgJDKf21V7Mkfalh8tJ0Tx73VG1ong+8C6uPC23154=";
-  };
-
-  nativeBuildInputs = [
-    cmake
-    ninja
-  ];
-
-  buildInputs = [
-    tbb
-    zlib
-    zstd
-  ] ++ lib.optionals (!stdenv.isDarwin) [
-    mimalloc
-  ];
-
-  cmakeFlags = [
-    "-DMOLD_USE_SYSTEM_MIMALLOC:BOOL=ON"
-    "-DMOLD_USE_SYSTEM_TBB:BOOL=ON"
-  ];
-
-  env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.isDarwin [
-    "-faligned-allocation"
-  ]);
-
-  passthru = {
-    updateScript = nix-update-script { };
-    tests =
-      let
-        helloTest = name: helloMold:
-          let
-            command = "$READELF -p .comment ${lib.getExe helloMold}";
-            emulator = stdenv.hostPlatform.emulator buildPackages;
-          in
-          runCommandCC "mold-${name}-test" { passthru = { inherit helloMold; }; }
-            ''
-              echo "Testing running the 'hello' binary which should be linked with 'mold'" >&2
-              ${emulator} ${lib.getExe helloMold}
-
-              echo "Checking for mold in the '.comment' section" >&2
-              if output=$(${command} 2>&1); then
-                if grep -Fw -- "mold" - <<< "$output"; then
-                  touch $out
-                else
-                  echo "No mention of 'mold' detected in the '.comment' section" >&2
-                  echo "The command was:" >&2
-                  echo "${command}" >&2
-                  echo "The output was:" >&2
-                  echo "$output" >&2
-                  exit 1
-                fi
-              else
-                echo -n "${command}" >&2
-                echo " returned a non-zero exit code." >&2
-                echo "$output" >&2
-                exit 1
-              fi
-            ''
-        ;
-      in
-      {
-        version = testers.testVersion { package = mold; };
-      } // lib.optionalAttrs stdenv.isLinux {
-        adapter-gcc = helloTest "adapter-gcc" (hello.override (old: { stdenv = useMoldLinker gccStdenv; }));
-        adapter-llvm = helloTest "adapter-llvm" (hello.override (old: { stdenv = useMoldLinker clangStdenv; }));
-        wrapped = helloTest "wrapped" (hello.overrideAttrs (previousAttrs: {
-          nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ mold-wrapped ];
-          NIX_CFLAGS_LINK = toString (previousAttrs.NIX_CFLAGS_LINK or "") + " -fuse-ld=mold";
-        }));
-      };
-  };
-
-  meta = with lib; {
-    description = "A faster drop-in replacement for existing Unix linkers (unwrapped)";
-    longDescription = ''
-      mold is a faster drop-in replacement for existing Unix linkers. It is
-      several times faster than the LLVM lld linker. mold is designed to
-      increase developer productivity by reducing build time, especially in
-      rapid debug-edit-rebuild cycles.
-    '';
-    homepage = "https://github.com/rui314/mold";
-    changelog = "https://github.com/rui314/mold/releases/tag/v${version}";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    mainProgram = "mold";
-    maintainers = with maintainers; [ azahi paveloom ];
-  };
-}
diff --git a/pkgs/development/tools/mongosh/default.nix b/pkgs/development/tools/mongosh/default.nix
index 56e2e2e8e4217..79834dafc2b8e 100644
--- a/pkgs/development/tools/mongosh/default.nix
+++ b/pkgs/development/tools/mongosh/default.nix
@@ -36,7 +36,7 @@ buildNpmPackage {
 
   meta = with lib; {
     homepage = "https://www.mongodb.com/try/download/shell";
-    description = "The MongoDB Shell";
+    description = "MongoDB Shell";
     maintainers = with maintainers; [ aaronjheng ];
     license = licenses.asl20;
     mainProgram = "mongosh";
diff --git a/pkgs/development/tools/mongosh/package-lock.json b/pkgs/development/tools/mongosh/package-lock.json
index 3cfb31a284948..b87274ea83301 100644
--- a/pkgs/development/tools/mongosh/package-lock.json
+++ b/pkgs/development/tools/mongosh/package-lock.json
@@ -1,15 +1,15 @@
 {
   "name": "mongosh",
-  "version": "2.2.5",
+  "version": "2.2.9",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "mongosh",
-      "version": "2.2.5",
+      "version": "2.2.9",
       "license": "Apache-2.0",
       "dependencies": {
-        "@mongosh/cli-repl": "2.2.5"
+        "@mongosh/cli-repl": "2.2.9"
       },
       "bin": {
         "mongosh": "bin/mongosh.js"
@@ -30,612 +30,656 @@
         "node": ">=6.0.0"
       }
     },
-    "node_modules/@aws-crypto/ie11-detection": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz",
-      "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==",
+    "node_modules/@aws-crypto/sha256-browser": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmmirror.com/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz",
+      "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==",
       "dependencies": {
-        "tslib": "^1.11.1"
+        "@aws-crypto/sha256-js": "^5.2.0",
+        "@aws-crypto/supports-web-crypto": "^5.2.0",
+        "@aws-crypto/util": "^5.2.0",
+        "@aws-sdk/types": "^3.222.0",
+        "@aws-sdk/util-locate-window": "^3.0.0",
+        "@smithy/util-utf8": "^2.0.0",
+        "tslib": "^2.6.2"
       }
     },
-    "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+    "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
+      "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
+      "dependencies": {
+        "tslib": "^2.6.2"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
     },
-    "node_modules/@aws-crypto/sha256-browser": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz",
-      "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==",
+    "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
+      "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
       "dependencies": {
-        "@aws-crypto/ie11-detection": "^3.0.0",
-        "@aws-crypto/sha256-js": "^3.0.0",
-        "@aws-crypto/supports-web-crypto": "^3.0.0",
-        "@aws-crypto/util": "^3.0.0",
-        "@aws-sdk/types": "^3.222.0",
-        "@aws-sdk/util-locate-window": "^3.0.0",
-        "@aws-sdk/util-utf8-browser": "^3.0.0",
-        "tslib": "^1.11.1"
+        "@smithy/is-array-buffer": "^2.2.0",
+        "tslib": "^2.6.2"
+      },
+      "engines": {
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+    "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
+      "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
+      "dependencies": {
+        "@smithy/util-buffer-from": "^2.2.0",
+        "tslib": "^2.6.2"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
     },
     "node_modules/@aws-crypto/sha256-js": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz",
-      "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==",
+      "version": "5.2.0",
+      "resolved": "https://registry.npmmirror.com/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz",
+      "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==",
       "dependencies": {
-        "@aws-crypto/util": "^3.0.0",
+        "@aws-crypto/util": "^5.2.0",
         "@aws-sdk/types": "^3.222.0",
-        "tslib": "^1.11.1"
+        "tslib": "^2.6.2"
+      },
+      "engines": {
+        "node": ">=16.0.0"
       }
     },
-    "node_modules/@aws-crypto/sha256-js/node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
-    },
     "node_modules/@aws-crypto/supports-web-crypto": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz",
-      "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==",
+      "version": "5.2.0",
+      "resolved": "https://registry.npmmirror.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz",
+      "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==",
       "dependencies": {
-        "tslib": "^1.11.1"
+        "tslib": "^2.6.2"
       }
     },
-    "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
-    },
     "node_modules/@aws-crypto/util": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/@aws-crypto/util/-/util-3.0.0.tgz",
-      "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==",
+      "version": "5.2.0",
+      "resolved": "https://registry.npmmirror.com/@aws-crypto/util/-/util-5.2.0.tgz",
+      "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==",
       "dependencies": {
         "@aws-sdk/types": "^3.222.0",
-        "@aws-sdk/util-utf8-browser": "^3.0.0",
-        "tslib": "^1.11.1"
+        "@smithy/util-utf8": "^2.0.0",
+        "tslib": "^2.6.2"
       }
     },
-    "node_modules/@aws-crypto/util/node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
-    },
-    "node_modules/@aws-sdk/client-cognito-identity": {
-      "version": "3.556.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.556.0.tgz",
-      "integrity": "sha512-HWd7PyXCuY1Z9KBaufbzpIvS2QeUAak5wfYwylW2DrEvt6A4tjWCBSbbSXNoawqCv/HitA39v953N/1PojJVVQ==",
-      "dependencies": {
-        "@aws-crypto/sha256-browser": "3.0.0",
-        "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/client-sts": "3.556.0",
-        "@aws-sdk/core": "3.556.0",
-        "@aws-sdk/credential-provider-node": "3.556.0",
-        "@aws-sdk/middleware-host-header": "3.535.0",
-        "@aws-sdk/middleware-logger": "3.535.0",
-        "@aws-sdk/middleware-recursion-detection": "3.535.0",
-        "@aws-sdk/middleware-user-agent": "3.540.0",
-        "@aws-sdk/region-config-resolver": "3.535.0",
-        "@aws-sdk/types": "3.535.0",
-        "@aws-sdk/util-endpoints": "3.540.0",
-        "@aws-sdk/util-user-agent-browser": "3.535.0",
-        "@aws-sdk/util-user-agent-node": "3.535.0",
-        "@smithy/config-resolver": "^2.2.0",
-        "@smithy/core": "^1.4.2",
-        "@smithy/fetch-http-handler": "^2.5.0",
-        "@smithy/hash-node": "^2.2.0",
-        "@smithy/invalid-dependency": "^2.2.0",
-        "@smithy/middleware-content-length": "^2.2.0",
-        "@smithy/middleware-endpoint": "^2.5.1",
-        "@smithy/middleware-retry": "^2.3.1",
-        "@smithy/middleware-serde": "^2.3.0",
-        "@smithy/middleware-stack": "^2.2.0",
-        "@smithy/node-config-provider": "^2.3.0",
-        "@smithy/node-http-handler": "^2.5.0",
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/smithy-client": "^2.5.1",
-        "@smithy/types": "^2.12.0",
-        "@smithy/url-parser": "^2.2.0",
-        "@smithy/util-base64": "^2.3.0",
-        "@smithy/util-body-length-browser": "^2.2.0",
-        "@smithy/util-body-length-node": "^2.3.0",
-        "@smithy/util-defaults-mode-browser": "^2.2.1",
-        "@smithy/util-defaults-mode-node": "^2.3.1",
-        "@smithy/util-endpoints": "^1.2.0",
-        "@smithy/util-middleware": "^2.2.0",
-        "@smithy/util-retry": "^2.2.0",
-        "@smithy/util-utf8": "^2.3.0",
+    "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
+      "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
+      "dependencies": {
         "tslib": "^2.6.2"
       },
       "engines": {
         "node": ">=14.0.0"
       }
     },
-    "node_modules/@aws-sdk/client-sso": {
-      "version": "3.556.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sso/-/client-sso-3.556.0.tgz",
-      "integrity": "sha512-unXdWS7uvHqCcOyC1de+Fr8m3F2vMg2m24GPea0bg7rVGTYmiyn9mhUX11VCt+ozydrw+F50FQwL6OqoqPocmw==",
-      "dependencies": {
-        "@aws-crypto/sha256-browser": "3.0.0",
-        "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/core": "3.556.0",
-        "@aws-sdk/middleware-host-header": "3.535.0",
-        "@aws-sdk/middleware-logger": "3.535.0",
-        "@aws-sdk/middleware-recursion-detection": "3.535.0",
-        "@aws-sdk/middleware-user-agent": "3.540.0",
-        "@aws-sdk/region-config-resolver": "3.535.0",
-        "@aws-sdk/types": "3.535.0",
-        "@aws-sdk/util-endpoints": "3.540.0",
-        "@aws-sdk/util-user-agent-browser": "3.535.0",
-        "@aws-sdk/util-user-agent-node": "3.535.0",
-        "@smithy/config-resolver": "^2.2.0",
-        "@smithy/core": "^1.4.2",
-        "@smithy/fetch-http-handler": "^2.5.0",
-        "@smithy/hash-node": "^2.2.0",
-        "@smithy/invalid-dependency": "^2.2.0",
-        "@smithy/middleware-content-length": "^2.2.0",
-        "@smithy/middleware-endpoint": "^2.5.1",
-        "@smithy/middleware-retry": "^2.3.1",
-        "@smithy/middleware-serde": "^2.3.0",
-        "@smithy/middleware-stack": "^2.2.0",
-        "@smithy/node-config-provider": "^2.3.0",
-        "@smithy/node-http-handler": "^2.5.0",
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/smithy-client": "^2.5.1",
-        "@smithy/types": "^2.12.0",
-        "@smithy/url-parser": "^2.2.0",
-        "@smithy/util-base64": "^2.3.0",
-        "@smithy/util-body-length-browser": "^2.2.0",
-        "@smithy/util-body-length-node": "^2.3.0",
-        "@smithy/util-defaults-mode-browser": "^2.2.1",
-        "@smithy/util-defaults-mode-node": "^2.3.1",
-        "@smithy/util-endpoints": "^1.2.0",
-        "@smithy/util-middleware": "^2.2.0",
-        "@smithy/util-retry": "^2.2.0",
-        "@smithy/util-utf8": "^2.3.0",
+    "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
+      "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
+      "dependencies": {
+        "@smithy/is-array-buffer": "^2.2.0",
         "tslib": "^2.6.2"
       },
       "engines": {
         "node": ">=14.0.0"
       }
     },
-    "node_modules/@aws-sdk/client-sso-oidc": {
-      "version": "3.556.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.556.0.tgz",
-      "integrity": "sha512-AXKd2TB6nNrksu+OfmHl8uI07PdgzOo4o8AxoRO8SHlwoMAGvcT9optDGVSYoVfgOKTymCoE7h8/UoUfPc11wQ==",
-      "dependencies": {
-        "@aws-crypto/sha256-browser": "3.0.0",
-        "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/client-sts": "3.556.0",
-        "@aws-sdk/core": "3.556.0",
-        "@aws-sdk/middleware-host-header": "3.535.0",
-        "@aws-sdk/middleware-logger": "3.535.0",
-        "@aws-sdk/middleware-recursion-detection": "3.535.0",
-        "@aws-sdk/middleware-user-agent": "3.540.0",
-        "@aws-sdk/region-config-resolver": "3.535.0",
-        "@aws-sdk/types": "3.535.0",
-        "@aws-sdk/util-endpoints": "3.540.0",
-        "@aws-sdk/util-user-agent-browser": "3.535.0",
-        "@aws-sdk/util-user-agent-node": "3.535.0",
-        "@smithy/config-resolver": "^2.2.0",
-        "@smithy/core": "^1.4.2",
-        "@smithy/fetch-http-handler": "^2.5.0",
-        "@smithy/hash-node": "^2.2.0",
-        "@smithy/invalid-dependency": "^2.2.0",
-        "@smithy/middleware-content-length": "^2.2.0",
-        "@smithy/middleware-endpoint": "^2.5.1",
-        "@smithy/middleware-retry": "^2.3.1",
-        "@smithy/middleware-serde": "^2.3.0",
-        "@smithy/middleware-stack": "^2.2.0",
-        "@smithy/node-config-provider": "^2.3.0",
-        "@smithy/node-http-handler": "^2.5.0",
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/smithy-client": "^2.5.1",
-        "@smithy/types": "^2.12.0",
-        "@smithy/url-parser": "^2.2.0",
-        "@smithy/util-base64": "^2.3.0",
-        "@smithy/util-body-length-browser": "^2.2.0",
-        "@smithy/util-body-length-node": "^2.3.0",
-        "@smithy/util-defaults-mode-browser": "^2.2.1",
-        "@smithy/util-defaults-mode-node": "^2.3.1",
-        "@smithy/util-endpoints": "^1.2.0",
-        "@smithy/util-middleware": "^2.2.0",
-        "@smithy/util-retry": "^2.2.0",
-        "@smithy/util-utf8": "^2.3.0",
+    "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
+      "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
+      "dependencies": {
+        "@smithy/util-buffer-from": "^2.2.0",
         "tslib": "^2.6.2"
       },
       "engines": {
         "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/client-cognito-identity": {
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.598.0.tgz",
+      "integrity": "sha512-N/1lnkhkzk1Il8WEZBWR713/7sDEqBtl/1AS6dfgw6Zh7NWUYSwBkZx6xdN8KogDu4CFExRHhilNOgI1JMug3w==",
+      "dependencies": {
+        "@aws-crypto/sha256-browser": "5.2.0",
+        "@aws-crypto/sha256-js": "5.2.0",
+        "@aws-sdk/client-sso-oidc": "3.598.0",
+        "@aws-sdk/client-sts": "3.598.0",
+        "@aws-sdk/core": "3.598.0",
+        "@aws-sdk/credential-provider-node": "3.598.0",
+        "@aws-sdk/middleware-host-header": "3.598.0",
+        "@aws-sdk/middleware-logger": "3.598.0",
+        "@aws-sdk/middleware-recursion-detection": "3.598.0",
+        "@aws-sdk/middleware-user-agent": "3.598.0",
+        "@aws-sdk/region-config-resolver": "3.598.0",
+        "@aws-sdk/types": "3.598.0",
+        "@aws-sdk/util-endpoints": "3.598.0",
+        "@aws-sdk/util-user-agent-browser": "3.598.0",
+        "@aws-sdk/util-user-agent-node": "3.598.0",
+        "@smithy/config-resolver": "^3.0.2",
+        "@smithy/core": "^2.2.1",
+        "@smithy/fetch-http-handler": "^3.0.2",
+        "@smithy/hash-node": "^3.0.1",
+        "@smithy/invalid-dependency": "^3.0.1",
+        "@smithy/middleware-content-length": "^3.0.1",
+        "@smithy/middleware-endpoint": "^3.0.2",
+        "@smithy/middleware-retry": "^3.0.4",
+        "@smithy/middleware-serde": "^3.0.1",
+        "@smithy/middleware-stack": "^3.0.1",
+        "@smithy/node-config-provider": "^3.1.1",
+        "@smithy/node-http-handler": "^3.0.1",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/smithy-client": "^3.1.2",
+        "@smithy/types": "^3.1.0",
+        "@smithy/url-parser": "^3.0.1",
+        "@smithy/util-base64": "^3.0.0",
+        "@smithy/util-body-length-browser": "^3.0.0",
+        "@smithy/util-body-length-node": "^3.0.0",
+        "@smithy/util-defaults-mode-browser": "^3.0.4",
+        "@smithy/util-defaults-mode-node": "^3.0.4",
+        "@smithy/util-endpoints": "^2.0.2",
+        "@smithy/util-middleware": "^3.0.1",
+        "@smithy/util-retry": "^3.0.1",
+        "@smithy/util-utf8": "^3.0.0",
+        "tslib": "^2.6.2"
       },
-      "peerDependencies": {
-        "@aws-sdk/credential-provider-node": "^3.556.0"
+      "engines": {
+        "node": ">=16.0.0"
       }
     },
-    "node_modules/@aws-sdk/client-sts": {
-      "version": "3.556.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sts/-/client-sts-3.556.0.tgz",
-      "integrity": "sha512-TsK3js7Suh9xEmC886aY+bv0KdLLYtzrcmVt6sJ/W6EnDXYQhBuKYFhp03NrN2+vSvMGpqJwR62DyfKe1G0QzQ==",
-      "dependencies": {
-        "@aws-crypto/sha256-browser": "3.0.0",
-        "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/core": "3.556.0",
-        "@aws-sdk/middleware-host-header": "3.535.0",
-        "@aws-sdk/middleware-logger": "3.535.0",
-        "@aws-sdk/middleware-recursion-detection": "3.535.0",
-        "@aws-sdk/middleware-user-agent": "3.540.0",
-        "@aws-sdk/region-config-resolver": "3.535.0",
-        "@aws-sdk/types": "3.535.0",
-        "@aws-sdk/util-endpoints": "3.540.0",
-        "@aws-sdk/util-user-agent-browser": "3.535.0",
-        "@aws-sdk/util-user-agent-node": "3.535.0",
-        "@smithy/config-resolver": "^2.2.0",
-        "@smithy/core": "^1.4.2",
-        "@smithy/fetch-http-handler": "^2.5.0",
-        "@smithy/hash-node": "^2.2.0",
-        "@smithy/invalid-dependency": "^2.2.0",
-        "@smithy/middleware-content-length": "^2.2.0",
-        "@smithy/middleware-endpoint": "^2.5.1",
-        "@smithy/middleware-retry": "^2.3.1",
-        "@smithy/middleware-serde": "^2.3.0",
-        "@smithy/middleware-stack": "^2.2.0",
-        "@smithy/node-config-provider": "^2.3.0",
-        "@smithy/node-http-handler": "^2.5.0",
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/smithy-client": "^2.5.1",
-        "@smithy/types": "^2.12.0",
-        "@smithy/url-parser": "^2.2.0",
-        "@smithy/util-base64": "^2.3.0",
-        "@smithy/util-body-length-browser": "^2.2.0",
-        "@smithy/util-body-length-node": "^2.3.0",
-        "@smithy/util-defaults-mode-browser": "^2.2.1",
-        "@smithy/util-defaults-mode-node": "^2.3.1",
-        "@smithy/util-endpoints": "^1.2.0",
-        "@smithy/util-middleware": "^2.2.0",
-        "@smithy/util-retry": "^2.2.0",
-        "@smithy/util-utf8": "^2.3.0",
+    "node_modules/@aws-sdk/client-sso": {
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sso/-/client-sso-3.598.0.tgz",
+      "integrity": "sha512-nOI5lqPYa+YZlrrzwAJywJSw3MKVjvu6Ge2fCqQUNYMfxFB0NAaDFnl0EPjXi+sEbtCuz/uWE77poHbqiZ+7Iw==",
+      "dependencies": {
+        "@aws-crypto/sha256-browser": "5.2.0",
+        "@aws-crypto/sha256-js": "5.2.0",
+        "@aws-sdk/core": "3.598.0",
+        "@aws-sdk/middleware-host-header": "3.598.0",
+        "@aws-sdk/middleware-logger": "3.598.0",
+        "@aws-sdk/middleware-recursion-detection": "3.598.0",
+        "@aws-sdk/middleware-user-agent": "3.598.0",
+        "@aws-sdk/region-config-resolver": "3.598.0",
+        "@aws-sdk/types": "3.598.0",
+        "@aws-sdk/util-endpoints": "3.598.0",
+        "@aws-sdk/util-user-agent-browser": "3.598.0",
+        "@aws-sdk/util-user-agent-node": "3.598.0",
+        "@smithy/config-resolver": "^3.0.2",
+        "@smithy/core": "^2.2.1",
+        "@smithy/fetch-http-handler": "^3.0.2",
+        "@smithy/hash-node": "^3.0.1",
+        "@smithy/invalid-dependency": "^3.0.1",
+        "@smithy/middleware-content-length": "^3.0.1",
+        "@smithy/middleware-endpoint": "^3.0.2",
+        "@smithy/middleware-retry": "^3.0.4",
+        "@smithy/middleware-serde": "^3.0.1",
+        "@smithy/middleware-stack": "^3.0.1",
+        "@smithy/node-config-provider": "^3.1.1",
+        "@smithy/node-http-handler": "^3.0.1",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/smithy-client": "^3.1.2",
+        "@smithy/types": "^3.1.0",
+        "@smithy/url-parser": "^3.0.1",
+        "@smithy/util-base64": "^3.0.0",
+        "@smithy/util-body-length-browser": "^3.0.0",
+        "@smithy/util-body-length-node": "^3.0.0",
+        "@smithy/util-defaults-mode-browser": "^3.0.4",
+        "@smithy/util-defaults-mode-node": "^3.0.4",
+        "@smithy/util-endpoints": "^2.0.2",
+        "@smithy/util-middleware": "^3.0.1",
+        "@smithy/util-retry": "^3.0.1",
+        "@smithy/util-utf8": "^3.0.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/client-sso-oidc": {
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.598.0.tgz",
+      "integrity": "sha512-jfdH1pAO9Tt8Nkta/JJLoUnwl7jaRdxToQTJfUtE+o3+0JP5sA4LfC2rBkJSWcU5BdAA+kyOs5Lv776DlN04Vg==",
+      "dependencies": {
+        "@aws-crypto/sha256-browser": "5.2.0",
+        "@aws-crypto/sha256-js": "5.2.0",
+        "@aws-sdk/client-sts": "3.598.0",
+        "@aws-sdk/core": "3.598.0",
+        "@aws-sdk/credential-provider-node": "3.598.0",
+        "@aws-sdk/middleware-host-header": "3.598.0",
+        "@aws-sdk/middleware-logger": "3.598.0",
+        "@aws-sdk/middleware-recursion-detection": "3.598.0",
+        "@aws-sdk/middleware-user-agent": "3.598.0",
+        "@aws-sdk/region-config-resolver": "3.598.0",
+        "@aws-sdk/types": "3.598.0",
+        "@aws-sdk/util-endpoints": "3.598.0",
+        "@aws-sdk/util-user-agent-browser": "3.598.0",
+        "@aws-sdk/util-user-agent-node": "3.598.0",
+        "@smithy/config-resolver": "^3.0.2",
+        "@smithy/core": "^2.2.1",
+        "@smithy/fetch-http-handler": "^3.0.2",
+        "@smithy/hash-node": "^3.0.1",
+        "@smithy/invalid-dependency": "^3.0.1",
+        "@smithy/middleware-content-length": "^3.0.1",
+        "@smithy/middleware-endpoint": "^3.0.2",
+        "@smithy/middleware-retry": "^3.0.4",
+        "@smithy/middleware-serde": "^3.0.1",
+        "@smithy/middleware-stack": "^3.0.1",
+        "@smithy/node-config-provider": "^3.1.1",
+        "@smithy/node-http-handler": "^3.0.1",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/smithy-client": "^3.1.2",
+        "@smithy/types": "^3.1.0",
+        "@smithy/url-parser": "^3.0.1",
+        "@smithy/util-base64": "^3.0.0",
+        "@smithy/util-body-length-browser": "^3.0.0",
+        "@smithy/util-body-length-node": "^3.0.0",
+        "@smithy/util-defaults-mode-browser": "^3.0.4",
+        "@smithy/util-defaults-mode-node": "^3.0.4",
+        "@smithy/util-endpoints": "^2.0.2",
+        "@smithy/util-middleware": "^3.0.1",
+        "@smithy/util-retry": "^3.0.1",
+        "@smithy/util-utf8": "^3.0.0",
+        "tslib": "^2.6.2"
       },
-      "peerDependencies": {
-        "@aws-sdk/credential-provider-node": "^3.556.0"
+      "engines": {
+        "node": ">=16.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/client-sts": {
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sts/-/client-sts-3.598.0.tgz",
+      "integrity": "sha512-bXhz/cHL0iB9UH9IFtMaJJf4F8mV+HzncETCRFzZ9SyUMt5rP9j8A7VZknqGYSx/6mI8SsB1XJQkWSbhn6FiSQ==",
+      "dependencies": {
+        "@aws-crypto/sha256-browser": "5.2.0",
+        "@aws-crypto/sha256-js": "5.2.0",
+        "@aws-sdk/client-sso-oidc": "3.598.0",
+        "@aws-sdk/core": "3.598.0",
+        "@aws-sdk/credential-provider-node": "3.598.0",
+        "@aws-sdk/middleware-host-header": "3.598.0",
+        "@aws-sdk/middleware-logger": "3.598.0",
+        "@aws-sdk/middleware-recursion-detection": "3.598.0",
+        "@aws-sdk/middleware-user-agent": "3.598.0",
+        "@aws-sdk/region-config-resolver": "3.598.0",
+        "@aws-sdk/types": "3.598.0",
+        "@aws-sdk/util-endpoints": "3.598.0",
+        "@aws-sdk/util-user-agent-browser": "3.598.0",
+        "@aws-sdk/util-user-agent-node": "3.598.0",
+        "@smithy/config-resolver": "^3.0.2",
+        "@smithy/core": "^2.2.1",
+        "@smithy/fetch-http-handler": "^3.0.2",
+        "@smithy/hash-node": "^3.0.1",
+        "@smithy/invalid-dependency": "^3.0.1",
+        "@smithy/middleware-content-length": "^3.0.1",
+        "@smithy/middleware-endpoint": "^3.0.2",
+        "@smithy/middleware-retry": "^3.0.4",
+        "@smithy/middleware-serde": "^3.0.1",
+        "@smithy/middleware-stack": "^3.0.1",
+        "@smithy/node-config-provider": "^3.1.1",
+        "@smithy/node-http-handler": "^3.0.1",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/smithy-client": "^3.1.2",
+        "@smithy/types": "^3.1.0",
+        "@smithy/url-parser": "^3.0.1",
+        "@smithy/util-base64": "^3.0.0",
+        "@smithy/util-body-length-browser": "^3.0.0",
+        "@smithy/util-body-length-node": "^3.0.0",
+        "@smithy/util-defaults-mode-browser": "^3.0.4",
+        "@smithy/util-defaults-mode-node": "^3.0.4",
+        "@smithy/util-endpoints": "^2.0.2",
+        "@smithy/util-middleware": "^3.0.1",
+        "@smithy/util-retry": "^3.0.1",
+        "@smithy/util-utf8": "^3.0.0",
+        "tslib": "^2.6.2"
+      },
+      "engines": {
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/core": {
-      "version": "3.556.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/core/-/core-3.556.0.tgz",
-      "integrity": "sha512-vJaSaHw2kPQlo11j/Rzuz0gk1tEaKdz+2ser0f0qZ5vwFlANjt08m/frU17ctnVKC1s58bxpctO/1P894fHLrA==",
-      "dependencies": {
-        "@smithy/core": "^1.4.2",
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/signature-v4": "^2.3.0",
-        "@smithy/smithy-client": "^2.5.1",
-        "@smithy/types": "^2.12.0",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/core/-/core-3.598.0.tgz",
+      "integrity": "sha512-HaSjt7puO5Cc7cOlrXFCW0rtA0BM9lvzjl56x0A20Pt+0wxXGeTOZZOkXQIepbrFkV2e/HYukuT9e99vXDm59g==",
+      "dependencies": {
+        "@smithy/core": "^2.2.1",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/signature-v4": "^3.1.0",
+        "@smithy/smithy-client": "^3.1.2",
+        "@smithy/types": "^3.1.0",
         "fast-xml-parser": "4.2.5",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/credential-provider-cognito-identity": {
-      "version": "3.556.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.556.0.tgz",
-      "integrity": "sha512-PKYBjfpLHJZhrIv0M9eJ47yeDaV8NUMVe4vsiHG5tvlvwWGP84k9GJlr51U/s84OzIyXzVpiqP8PU5yKovUFIg==",
-      "dependencies": {
-        "@aws-sdk/client-cognito-identity": "3.556.0",
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/types": "^2.12.0",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.598.0.tgz",
+      "integrity": "sha512-u6oocRReswkA2mFlOwtCetgmEr9B+Yhle3K13x37rb1lQgq1wUuWUvHU7U9v26hUZIhfUpigV/Mgr/RQZB6+Yw==",
+      "dependencies": {
+        "@aws-sdk/client-cognito-identity": "3.598.0",
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/credential-provider-env": {
-      "version": "3.535.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.535.0.tgz",
-      "integrity": "sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.598.0.tgz",
+      "integrity": "sha512-vi1khgn7yXzLCcgSIzQrrtd2ilUM0dWodxj3PQ6BLfP0O+q1imO3hG1nq7DVyJtq7rFHs6+9N8G4mYvTkxby2w==",
       "dependencies": {
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/types": "^2.12.0",
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/credential-provider-http": {
-      "version": "3.552.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.552.0.tgz",
-      "integrity": "sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==",
-      "dependencies": {
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/fetch-http-handler": "^2.5.0",
-        "@smithy/node-http-handler": "^2.5.0",
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/smithy-client": "^2.5.1",
-        "@smithy/types": "^2.12.0",
-        "@smithy/util-stream": "^2.2.0",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.598.0.tgz",
+      "integrity": "sha512-N7cIafi4HVlQvEgvZSo1G4T9qb/JMLGMdBsDCT5XkeJrF0aptQWzTFH0jIdZcLrMYvzPcuEyO3yCBe6cy/ba0g==",
+      "dependencies": {
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/fetch-http-handler": "^3.0.2",
+        "@smithy/node-http-handler": "^3.0.1",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/smithy-client": "^3.1.2",
+        "@smithy/types": "^3.1.0",
+        "@smithy/util-stream": "^3.0.2",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/credential-provider-ini": {
-      "version": "3.556.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.556.0.tgz",
-      "integrity": "sha512-0Nz4ErOlXhe3muxWYMbPwRMgfKmVbBp36BAE2uv/z5wTbfdBkcgUwaflEvlKCLUTdHzuZsQk+BFS/gVyaUeOuA==",
-      "dependencies": {
-        "@aws-sdk/client-sts": "3.556.0",
-        "@aws-sdk/credential-provider-env": "3.535.0",
-        "@aws-sdk/credential-provider-process": "3.535.0",
-        "@aws-sdk/credential-provider-sso": "3.556.0",
-        "@aws-sdk/credential-provider-web-identity": "3.556.0",
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/credential-provider-imds": "^2.3.0",
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/shared-ini-file-loader": "^2.4.0",
-        "@smithy/types": "^2.12.0",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.598.0.tgz",
+      "integrity": "sha512-/ppcIVUbRwDIwJDoYfp90X3+AuJo2mvE52Y1t2VSrvUovYn6N4v95/vXj6LS8CNDhz2jvEJYmu+0cTMHdhI6eA==",
+      "dependencies": {
+        "@aws-sdk/credential-provider-env": "3.598.0",
+        "@aws-sdk/credential-provider-http": "3.598.0",
+        "@aws-sdk/credential-provider-process": "3.598.0",
+        "@aws-sdk/credential-provider-sso": "3.598.0",
+        "@aws-sdk/credential-provider-web-identity": "3.598.0",
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/credential-provider-imds": "^3.1.1",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/shared-ini-file-loader": "^3.1.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
+      },
+      "peerDependencies": {
+        "@aws-sdk/client-sts": "^3.598.0"
       }
     },
     "node_modules/@aws-sdk/credential-provider-node": {
-      "version": "3.556.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.556.0.tgz",
-      "integrity": "sha512-s1xVtKjyGc60O8qcNIzS1X3H+pWEwEfZ7TgNznVDNyuXvLrlNWiAcigPWGl2aAkc8tGcsSG0Qpyw2KYC939LFg==",
-      "dependencies": {
-        "@aws-sdk/credential-provider-env": "3.535.0",
-        "@aws-sdk/credential-provider-http": "3.552.0",
-        "@aws-sdk/credential-provider-ini": "3.556.0",
-        "@aws-sdk/credential-provider-process": "3.535.0",
-        "@aws-sdk/credential-provider-sso": "3.556.0",
-        "@aws-sdk/credential-provider-web-identity": "3.556.0",
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/credential-provider-imds": "^2.3.0",
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/shared-ini-file-loader": "^2.4.0",
-        "@smithy/types": "^2.12.0",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.598.0.tgz",
+      "integrity": "sha512-sXTlqL5I/awlF9Dg2MQ17SfrEaABVnsj2mf4jF5qQrIRhfbvQOIYdEqdy8Rn1AWlJMz/N450SGzc0XJ5owxxqw==",
+      "dependencies": {
+        "@aws-sdk/credential-provider-env": "3.598.0",
+        "@aws-sdk/credential-provider-http": "3.598.0",
+        "@aws-sdk/credential-provider-ini": "3.598.0",
+        "@aws-sdk/credential-provider-process": "3.598.0",
+        "@aws-sdk/credential-provider-sso": "3.598.0",
+        "@aws-sdk/credential-provider-web-identity": "3.598.0",
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/credential-provider-imds": "^3.1.1",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/shared-ini-file-loader": "^3.1.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/credential-provider-process": {
-      "version": "3.535.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.535.0.tgz",
-      "integrity": "sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==",
-      "dependencies": {
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/shared-ini-file-loader": "^2.4.0",
-        "@smithy/types": "^2.12.0",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.598.0.tgz",
+      "integrity": "sha512-rM707XbLW8huMk722AgjVyxu2tMZee++fNA8TJVNgs1Ma02Wx6bBrfIvlyK0rCcIRb0WdQYP6fe3Xhiu4e8IBA==",
+      "dependencies": {
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/shared-ini-file-loader": "^3.1.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/credential-provider-sso": {
-      "version": "3.556.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.556.0.tgz",
-      "integrity": "sha512-ETuBgcnpfxqadEAqhQFWpKoV1C/NAgvs5CbBc5EJbelJ8f4prTdErIHjrRtVT8c02MXj92QwczsiNYd5IoOqyw==",
-      "dependencies": {
-        "@aws-sdk/client-sso": "3.556.0",
-        "@aws-sdk/token-providers": "3.556.0",
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/shared-ini-file-loader": "^2.4.0",
-        "@smithy/types": "^2.12.0",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.598.0.tgz",
+      "integrity": "sha512-5InwUmrAuqQdOOgxTccRayMMkSmekdLk6s+az9tmikq0QFAHUCtofI+/fllMXSR9iL6JbGYi1940+EUmS4pHJA==",
+      "dependencies": {
+        "@aws-sdk/client-sso": "3.598.0",
+        "@aws-sdk/token-providers": "3.598.0",
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/shared-ini-file-loader": "^3.1.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/credential-provider-web-identity": {
-      "version": "3.556.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.556.0.tgz",
-      "integrity": "sha512-R/YAL8Uh8i+dzVjzMnbcWLIGeeRi2mioHVGnVF+minmaIkCiQMZg2HPrdlKm49El+RljT28Nl5YHRuiqzEIwMA==",
-      "dependencies": {
-        "@aws-sdk/client-sts": "3.556.0",
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/types": "^2.12.0",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.598.0.tgz",
+      "integrity": "sha512-GV5GdiMbz5Tz9JO4NJtRoFXjW0GPEujA0j+5J/B723rTN+REHthJu48HdBKouHGhdzkDWkkh1bu52V02Wprw8w==",
+      "dependencies": {
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
+      },
+      "peerDependencies": {
+        "@aws-sdk/client-sts": "^3.598.0"
       }
     },
     "node_modules/@aws-sdk/credential-providers": {
-      "version": "3.556.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-providers/-/credential-providers-3.556.0.tgz",
-      "integrity": "sha512-CnWP/AEF+sPeO8fabrHy4Oeo52xDFuDQMpjKcI7oJzGF6Ne2ZPTq6wTJQPLeXeg4OzLcK0tT3G4z/27MLdsLsw==",
-      "dependencies": {
-        "@aws-sdk/client-cognito-identity": "3.556.0",
-        "@aws-sdk/client-sso": "3.556.0",
-        "@aws-sdk/client-sts": "3.556.0",
-        "@aws-sdk/credential-provider-cognito-identity": "3.556.0",
-        "@aws-sdk/credential-provider-env": "3.535.0",
-        "@aws-sdk/credential-provider-http": "3.552.0",
-        "@aws-sdk/credential-provider-ini": "3.556.0",
-        "@aws-sdk/credential-provider-node": "3.556.0",
-        "@aws-sdk/credential-provider-process": "3.535.0",
-        "@aws-sdk/credential-provider-sso": "3.556.0",
-        "@aws-sdk/credential-provider-web-identity": "3.556.0",
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/credential-provider-imds": "^2.3.0",
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/types": "^2.12.0",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-providers/-/credential-providers-3.598.0.tgz",
+      "integrity": "sha512-IFZwH3F2rA2WbpYFUxOeu/M3/9p4+oRbKVLDZlaaDtwwuZ9VHEbnkUm20zOgSXeVExa3qgYhJvg7H5JrqxP97A==",
+      "dependencies": {
+        "@aws-sdk/client-cognito-identity": "3.598.0",
+        "@aws-sdk/client-sso": "3.598.0",
+        "@aws-sdk/client-sts": "3.598.0",
+        "@aws-sdk/credential-provider-cognito-identity": "3.598.0",
+        "@aws-sdk/credential-provider-env": "3.598.0",
+        "@aws-sdk/credential-provider-http": "3.598.0",
+        "@aws-sdk/credential-provider-ini": "3.598.0",
+        "@aws-sdk/credential-provider-node": "3.598.0",
+        "@aws-sdk/credential-provider-process": "3.598.0",
+        "@aws-sdk/credential-provider-sso": "3.598.0",
+        "@aws-sdk/credential-provider-web-identity": "3.598.0",
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/credential-provider-imds": "^3.1.1",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/middleware-host-header": {
-      "version": "3.535.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.535.0.tgz",
-      "integrity": "sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.598.0.tgz",
+      "integrity": "sha512-WiaG059YBQwQraNejLIi0gMNkX7dfPZ8hDIhvMr5aVPRbaHH8AYF3iNSsXYCHvA2Cfa1O9haYXsuMF9flXnCmA==",
       "dependencies": {
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/types": "^2.12.0",
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/middleware-logger": {
-      "version": "3.535.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-logger/-/middleware-logger-3.535.0.tgz",
-      "integrity": "sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-logger/-/middleware-logger-3.598.0.tgz",
+      "integrity": "sha512-bxBjf/VYiu3zfu8SYM2S9dQQc3tz5uBAOcPz/Bt8DyyK3GgOpjhschH/2XuUErsoUO1gDJqZSdGOmuHGZQn00Q==",
       "dependencies": {
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/types": "^2.12.0",
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/middleware-recursion-detection": {
-      "version": "3.535.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.535.0.tgz",
-      "integrity": "sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.598.0.tgz",
+      "integrity": "sha512-vjT9BeFY9FeN0f8hm2l6F53tI0N5bUq6RcDkQXKNabXBnQxKptJRad6oP2X5y3FoVfBLOuDkQgiC2940GIPxtQ==",
       "dependencies": {
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/types": "^2.12.0",
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/middleware-user-agent": {
-      "version": "3.540.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.540.0.tgz",
-      "integrity": "sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==",
-      "dependencies": {
-        "@aws-sdk/types": "3.535.0",
-        "@aws-sdk/util-endpoints": "3.540.0",
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/types": "^2.12.0",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.598.0.tgz",
+      "integrity": "sha512-4tjESlHG5B5MdjUaLK7tQs/miUtHbb6deauQx8ryqSBYOhfHVgb1ZnzvQR0bTrhpqUg0WlybSkDaZAICf9xctg==",
+      "dependencies": {
+        "@aws-sdk/types": "3.598.0",
+        "@aws-sdk/util-endpoints": "3.598.0",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/region-config-resolver": {
-      "version": "3.535.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.535.0.tgz",
-      "integrity": "sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==",
-      "dependencies": {
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/node-config-provider": "^2.3.0",
-        "@smithy/types": "^2.12.0",
-        "@smithy/util-config-provider": "^2.3.0",
-        "@smithy/util-middleware": "^2.2.0",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.598.0.tgz",
+      "integrity": "sha512-oYXhmTokSav4ytmWleCr3rs/1nyvZW/S0tdi6X7u+dLNL5Jee+uMxWGzgOrWK6wrQOzucLVjS4E/wA11Kv2GTw==",
+      "dependencies": {
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/node-config-provider": "^3.1.1",
+        "@smithy/types": "^3.1.0",
+        "@smithy/util-config-provider": "^3.0.0",
+        "@smithy/util-middleware": "^3.0.1",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/token-providers": {
-      "version": "3.556.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/token-providers/-/token-providers-3.556.0.tgz",
-      "integrity": "sha512-tvIiugNF0/+2wfuImMrpKjXMx4nCnFWQjQvouObny+wrif/PGqqQYrybwxPJDvzbd965bu1I+QuSv85/ug7xsg==",
-      "dependencies": {
-        "@aws-sdk/client-sso-oidc": "3.556.0",
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/shared-ini-file-loader": "^2.4.0",
-        "@smithy/types": "^2.12.0",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/token-providers/-/token-providers-3.598.0.tgz",
+      "integrity": "sha512-TKY1EVdHVBnZqpyxyTHdpZpa1tUpb6nxVeRNn1zWG8QB5MvH4ALLd/jR+gtmWDNQbIG4cVuBOZFVL8hIYicKTA==",
+      "dependencies": {
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/shared-ini-file-loader": "^3.1.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
+      },
+      "peerDependencies": {
+        "@aws-sdk/client-sso-oidc": "^3.598.0"
       }
     },
     "node_modules/@aws-sdk/types": {
-      "version": "3.535.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/types/-/types-3.535.0.tgz",
-      "integrity": "sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/types/-/types-3.598.0.tgz",
+      "integrity": "sha512-742uRl6z7u0LFmZwDrFP6r1wlZcgVPw+/TilluDJmCAR8BgRw3IR+743kUXKBGd8QZDRW2n6v/PYsi/AWCDDMQ==",
       "dependencies": {
-        "@smithy/types": "^2.12.0",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/util-endpoints": {
-      "version": "3.540.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-endpoints/-/util-endpoints-3.540.0.tgz",
-      "integrity": "sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-endpoints/-/util-endpoints-3.598.0.tgz",
+      "integrity": "sha512-Qo9UoiVVZxcOEdiOMZg3xb1mzkTxrhd4qSlg5QQrfWPJVx/QOg+Iy0NtGxPtHtVZNHZxohYwDwV/tfsnDSE2gQ==",
       "dependencies": {
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/types": "^2.12.0",
-        "@smithy/util-endpoints": "^1.2.0",
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/types": "^3.1.0",
+        "@smithy/util-endpoints": "^2.0.2",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/util-locate-window": {
-      "version": "3.535.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-locate-window/-/util-locate-window-3.535.0.tgz",
-      "integrity": "sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==",
+      "version": "3.568.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz",
+      "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==",
       "dependencies": {
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@aws-sdk/util-user-agent-browser": {
-      "version": "3.535.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.535.0.tgz",
-      "integrity": "sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.598.0.tgz",
+      "integrity": "sha512-36Sxo6F+ykElaL1mWzWjlg+1epMpSe8obwhCN1yGE7Js9ywy5U6k6l+A3q3YM9YRbm740sNxncbwLklMvuhTKw==",
       "dependencies": {
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/types": "^2.12.0",
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/types": "^3.1.0",
         "bowser": "^2.11.0",
         "tslib": "^2.6.2"
       }
     },
     "node_modules/@aws-sdk/util-user-agent-node": {
-      "version": "3.535.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.535.0.tgz",
-      "integrity": "sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==",
+      "version": "3.598.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.598.0.tgz",
+      "integrity": "sha512-oyWGcOlfTdzkC6SVplyr0AGh54IMrDxbhg5RxJ5P+V4BKfcDoDcZV9xenUk9NsOi9MuUjxMumb9UJGkDhM1m0A==",
       "dependencies": {
-        "@aws-sdk/types": "3.535.0",
-        "@smithy/node-config-provider": "^2.3.0",
-        "@smithy/types": "^2.12.0",
+        "@aws-sdk/types": "3.598.0",
+        "@smithy/node-config-provider": "^3.1.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       },
       "peerDependencies": {
         "aws-crt": ">=1.0.0"
@@ -646,20 +690,12 @@
         }
       }
     },
-    "node_modules/@aws-sdk/util-utf8-browser": {
-      "version": "3.259.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz",
-      "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==",
-      "dependencies": {
-        "tslib": "^2.3.1"
-      }
-    },
     "node_modules/@babel/code-frame": {
-      "version": "7.24.2",
-      "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.2.tgz",
-      "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.7.tgz",
+      "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
       "dependencies": {
-        "@babel/highlight": "^7.24.2",
+        "@babel/highlight": "^7.24.7",
         "picocolors": "^1.0.0"
       },
       "engines": {
@@ -667,28 +703,28 @@
       }
     },
     "node_modules/@babel/compat-data": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.24.4.tgz",
-      "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.24.7.tgz",
+      "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/core": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.24.4.tgz",
-      "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.24.7.tgz",
+      "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==",
       "dependencies": {
         "@ampproject/remapping": "^2.2.0",
-        "@babel/code-frame": "^7.24.2",
-        "@babel/generator": "^7.24.4",
-        "@babel/helper-compilation-targets": "^7.23.6",
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helpers": "^7.24.4",
-        "@babel/parser": "^7.24.4",
-        "@babel/template": "^7.24.0",
-        "@babel/traverse": "^7.24.1",
-        "@babel/types": "^7.24.0",
+        "@babel/code-frame": "^7.24.7",
+        "@babel/generator": "^7.24.7",
+        "@babel/helper-compilation-targets": "^7.24.7",
+        "@babel/helper-module-transforms": "^7.24.7",
+        "@babel/helpers": "^7.24.7",
+        "@babel/parser": "^7.24.7",
+        "@babel/template": "^7.24.7",
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7",
         "convert-source-map": "^2.0.0",
         "debug": "^4.1.0",
         "gensync": "^1.0.0-beta.2",
@@ -712,11 +748,11 @@
       }
     },
     "node_modules/@babel/generator": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.24.4.tgz",
-      "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.24.7.tgz",
+      "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
       "dependencies": {
-        "@babel/types": "^7.24.0",
+        "@babel/types": "^7.24.7",
         "@jridgewell/gen-mapping": "^0.3.5",
         "@jridgewell/trace-mapping": "^0.3.25",
         "jsesc": "^2.5.1"
@@ -726,12 +762,12 @@
       }
     },
     "node_modules/@babel/helper-compilation-targets": {
-      "version": "7.23.6",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
-      "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz",
+      "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==",
       "dependencies": {
-        "@babel/compat-data": "^7.23.5",
-        "@babel/helper-validator-option": "^7.23.5",
+        "@babel/compat-data": "^7.24.7",
+        "@babel/helper-validator-option": "^7.24.7",
         "browserslist": "^4.22.2",
         "lru-cache": "^5.1.1",
         "semver": "^6.3.1"
@@ -749,57 +785,61 @@
       }
     },
     "node_modules/@babel/helper-environment-visitor": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
-      "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
+      "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
+      "dependencies": {
+        "@babel/types": "^7.24.7"
+      },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-function-name": {
-      "version": "7.23.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
-      "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
+      "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
       "dependencies": {
-        "@babel/template": "^7.22.15",
-        "@babel/types": "^7.23.0"
+        "@babel/template": "^7.24.7",
+        "@babel/types": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-hoist-variables": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
-      "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
+      "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
       "dependencies": {
-        "@babel/types": "^7.22.5"
+        "@babel/types": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-module-imports": {
-      "version": "7.24.3",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz",
-      "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
+      "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
       "dependencies": {
-        "@babel/types": "^7.24.0"
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-module-transforms": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
-      "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz",
+      "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==",
       "dependencies": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-module-imports": "^7.22.15",
-        "@babel/helper-simple-access": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/helper-validator-identifier": "^7.22.20"
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-module-imports": "^7.24.7",
+        "@babel/helper-simple-access": "^7.24.7",
+        "@babel/helper-split-export-declaration": "^7.24.7",
+        "@babel/helper-validator-identifier": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -809,78 +849,78 @@
       }
     },
     "node_modules/@babel/helper-plugin-utils": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz",
-      "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz",
+      "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-simple-access": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
-      "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
+      "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
       "dependencies": {
-        "@babel/types": "^7.22.5"
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-split-export-declaration": {
-      "version": "7.22.6",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
-      "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
+      "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
       "dependencies": {
-        "@babel/types": "^7.22.5"
+        "@babel/types": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-string-parser": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz",
-      "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
+      "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-validator-identifier": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-      "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+      "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-validator-option": {
-      "version": "7.23.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
-      "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz",
+      "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helpers": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.4.tgz",
-      "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.7.tgz",
+      "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==",
       "dependencies": {
-        "@babel/template": "^7.24.0",
-        "@babel/traverse": "^7.24.1",
-        "@babel/types": "^7.24.0"
+        "@babel/template": "^7.24.7",
+        "@babel/types": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/highlight": {
-      "version": "7.24.2",
-      "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.24.2.tgz",
-      "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.24.7.tgz",
+      "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
       "dependencies": {
-        "@babel/helper-validator-identifier": "^7.22.20",
+        "@babel/helper-validator-identifier": "^7.24.7",
         "chalk": "^2.4.2",
         "js-tokens": "^4.0.0",
         "picocolors": "^1.0.0"
@@ -890,9 +930,9 @@
       }
     },
     "node_modules/@babel/parser": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.4.tgz",
-      "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.7.tgz",
+      "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
       "bin": {
         "parser": "bin/babel-parser.js"
       },
@@ -901,11 +941,11 @@
       }
     },
     "node_modules/@babel/plugin-transform-destructuring": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz",
-      "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz",
+      "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -915,11 +955,11 @@
       }
     },
     "node_modules/@babel/plugin-transform-parameters": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz",
-      "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz",
+      "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -929,11 +969,11 @@
       }
     },
     "node_modules/@babel/plugin-transform-shorthand-properties": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz",
-      "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz",
+      "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -943,31 +983,31 @@
       }
     },
     "node_modules/@babel/template": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.24.0.tgz",
-      "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.24.7.tgz",
+      "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
       "dependencies": {
-        "@babel/code-frame": "^7.23.5",
-        "@babel/parser": "^7.24.0",
-        "@babel/types": "^7.24.0"
+        "@babel/code-frame": "^7.24.7",
+        "@babel/parser": "^7.24.7",
+        "@babel/types": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/traverse": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.1.tgz",
-      "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==",
-      "dependencies": {
-        "@babel/code-frame": "^7.24.1",
-        "@babel/generator": "^7.24.1",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-hoist-variables": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/parser": "^7.24.1",
-        "@babel/types": "^7.24.0",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.7.tgz",
+      "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
+      "dependencies": {
+        "@babel/code-frame": "^7.24.7",
+        "@babel/generator": "^7.24.7",
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-function-name": "^7.24.7",
+        "@babel/helper-hoist-variables": "^7.24.7",
+        "@babel/helper-split-export-declaration": "^7.24.7",
+        "@babel/parser": "^7.24.7",
+        "@babel/types": "^7.24.7",
         "debug": "^4.3.1",
         "globals": "^11.1.0"
       },
@@ -976,12 +1016,12 @@
       }
     },
     "node_modules/@babel/types": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.24.0.tgz",
-      "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.24.7.tgz",
+      "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
       "dependencies": {
-        "@babel/helper-string-parser": "^7.23.4",
-        "@babel/helper-validator-identifier": "^7.22.20",
+        "@babel/helper-string-parser": "^7.24.7",
+        "@babel/helper-validator-identifier": "^7.24.7",
         "to-fast-properties": "^2.0.0"
       },
       "engines": {
@@ -1105,11 +1145,11 @@
       }
     },
     "node_modules/@mongodb-js/devtools-connect": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmmirror.com/@mongodb-js/devtools-connect/-/devtools-connect-2.6.0.tgz",
-      "integrity": "sha512-UIMOCfsfhmIj5TWXRfhMSPTfg7zNSGDphlKGABLZ/SP03aI5cAOi1krHTxBjx4p9iTs5E+A6eF+9GTKOTVXISQ==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@mongodb-js/devtools-connect/-/devtools-connect-3.0.1.tgz",
+      "integrity": "sha512-xbk/eGHPQTQz4VSpGb5oRqSSbzipcFDODrAc4YtYFrb0980buOAopO71NozCbQoVnoiO1pYVIqcnrZMHkdaJzg==",
       "dependencies": {
-        "@mongodb-js/oidc-http-server-pages": "1.1.0",
+        "@mongodb-js/oidc-http-server-pages": "1.1.1",
         "lodash.merge": "^4.6.2",
         "mongodb-connection-string-url": "^3.0.0",
         "socks": "^2.7.3",
@@ -1122,70 +1162,68 @@
         "resolve-mongodb-srv": "^1.1.1"
       },
       "peerDependencies": {
-        "@mongodb-js/oidc-plugin": "^0.4.0",
+        "@mongodb-js/oidc-plugin": "^1.0.0",
         "mongodb": "^5.8.1 || ^6.0.0",
-        "mongodb-log-writer": "^1.2.0"
+        "mongodb-log-writer": "^1.4.2"
       }
     },
     "node_modules/@mongodb-js/mongodb-constants": {
-      "version": "0.8.10",
-      "resolved": "https://registry.npmmirror.com/@mongodb-js/mongodb-constants/-/mongodb-constants-0.8.10.tgz",
-      "integrity": "sha512-tLXBNzLzk7KD0UsZaSpAg7bftgiDRVYFjc3zXT+828ENtg7TIvahkzJzoD7K6SwnFjPp8PZ/R36rpEL3zFq9yg==",
+      "version": "0.10.1",
+      "resolved": "https://registry.npmmirror.com/@mongodb-js/mongodb-constants/-/mongodb-constants-0.10.1.tgz",
+      "integrity": "sha512-zs6LSjci2JwkEgc43nmwI4LM0fYRnJpID2tw1NJ2IlqpmW9x1dQFjv1IG401yPr+eoB+Ktzy+EezDrTKl1fMbA==",
       "dependencies": {
         "semver": "^7.5.4"
       }
     },
     "node_modules/@mongodb-js/oidc-http-server-pages": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmmirror.com/@mongodb-js/oidc-http-server-pages/-/oidc-http-server-pages-1.1.0.tgz",
-      "integrity": "sha512-mRzOeYXV1oRnwifRaeV43HZq2s0USLwm9JPYO6Kb0T1oqZhMjzf1VIPSxktiwCf8gKw37uZ8knPdX5aDfQuQ4g=="
+      "version": "1.1.1",
+      "resolved": "https://registry.npmmirror.com/@mongodb-js/oidc-http-server-pages/-/oidc-http-server-pages-1.1.1.tgz",
+      "integrity": "sha512-zYkANxb4HVDN4zGuU2ud4fL+XpqRxaydCwVZyU9Mh5EhqbrCL5mGH7t3BaGnfdQUw+HVtwP3dmasc+5Hjewk+g=="
     },
     "node_modules/@mongodb-js/oidc-plugin": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmmirror.com/@mongodb-js/oidc-plugin/-/oidc-plugin-0.4.0.tgz",
-      "integrity": "sha512-tinXSz6O2AmgMAgorXUcCJtDhayghkmsXVVTd5UiXhzSA/NNVtlleZXSVkG6tr46WXGzLISgVX+lUzzcEIiwJQ==",
+      "version": "1.0.2",
+      "resolved": "https://registry.npmmirror.com/@mongodb-js/oidc-plugin/-/oidc-plugin-1.0.2.tgz",
+      "integrity": "sha512-hwTbkmJ31RPB5ksA6pLepnaQOBz6iurE+uH89B1IIJdxVuiO0Qz+OqpTN8vk8LZzcVDb/WbNoxqxogCWwMqFKw==",
       "dependencies": {
-        "abort-controller": "^3.0.0",
         "express": "^4.18.2",
         "open": "^9.1.0",
         "openid-client": "^5.6.4"
       },
       "engines": {
-        "node": ">= 14.18.0"
+        "node": ">= 16.20.1"
       }
     },
     "node_modules/@mongodb-js/saslprep": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmmirror.com/@mongodb-js/saslprep/-/saslprep-1.1.5.tgz",
-      "integrity": "sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA==",
+      "version": "1.1.7",
+      "resolved": "https://registry.npmmirror.com/@mongodb-js/saslprep/-/saslprep-1.1.7.tgz",
+      "integrity": "sha512-dCHW/oEX0KJ4NjDULBo3JiOaK5+6axtpBbS+ao2ZInoAL9/YRQLhXzSNAFz7hP4nzLkIqsfYAK/PDE3+XHny0Q==",
       "dependencies": {
         "sparse-bitfield": "^3.0.3"
       }
     },
     "node_modules/@mongosh/arg-parser": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/arg-parser/-/arg-parser-2.2.5.tgz",
-      "integrity": "sha512-SqScPS3QeG6HuMwvyuvImAQ15jfmQ02TS+a5RdwI5r79XmyRAJ6Jm9df8gms+Eqhzl2lvuXkt00sl23sCi26dA==",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/arg-parser/-/arg-parser-2.2.9.tgz",
+      "integrity": "sha512-Bc9v3cmhpfOG3LKRnOyZ/kfDJcQB1mNm7JWD2wJsaFBsWb4S1VXh50l23vC8HIj6vU6QYHGIAc5ikSxZ+shfyQ==",
       "dependencies": {
-        "@mongosh/errors": "2.2.5",
-        "@mongosh/i18n": "2.2.5",
-        "mongodb-connection-string-url": "^3.0.0"
+        "@mongosh/errors": "2.2.9",
+        "@mongosh/i18n": "2.2.9",
+        "mongodb-connection-string-url": "^3.0.1"
       },
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/async-rewriter2": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/async-rewriter2/-/async-rewriter2-2.2.5.tgz",
-      "integrity": "sha512-ZS6zw8+TnFxfirXdY/fNtQrB35O//MGfBhuoRFPaaVo551QnQWbSkjef2/aSOu0iDGph/iLo8gbRMFPtfdUtLg==",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/async-rewriter2/-/async-rewriter2-2.2.9.tgz",
+      "integrity": "sha512-JiS0VxGLoHNfLF9zox1dY0jX/3+ygdziigbTfS1AkKWt/Nmf/DURBFFjgLqs3mn3V3qYE4mUCmbeB9G1f6yMYA==",
       "dependencies": {
         "@babel/core": "^7.22.8",
         "@babel/plugin-transform-destructuring": "^7.22.5",
         "@babel/plugin-transform-parameters": "^7.22.5",
         "@babel/plugin-transform-shorthand-properties": "^7.22.5",
-        "@babel/types": "^7.22.5",
-        "@types/babel__core": "^7.20.1"
+        "@babel/types": "^7.22.5"
       },
       "bin": {
         "async-rewrite": "bin/async-rewrite.js"
@@ -1195,12 +1233,12 @@
       }
     },
     "node_modules/@mongosh/autocomplete": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/autocomplete/-/autocomplete-2.2.5.tgz",
-      "integrity": "sha512-ygFpjamjkx5KcRP70iH2IMavGNj19l3nwv8vRXhpC9sdz3hkRcTbl8SjWKWvOSMtm679dYm6ExVgV4f0jqZGFQ==",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/autocomplete/-/autocomplete-2.2.9.tgz",
+      "integrity": "sha512-uwBtG2bQVk6N8/A7Jjl6w/FQZKIAUrrfeBA7q4kZ6XWzBY1CKcNOG1Kq5tTrN5xp82Au+FLF0rhFBy195fas0Q==",
       "dependencies": {
-        "@mongodb-js/mongodb-constants": "^0.8.10",
-        "@mongosh/shell-api": "2.2.5",
+        "@mongodb-js/mongodb-constants": "^0.10.1",
+        "@mongosh/shell-api": "2.2.9",
         "semver": "^7.5.4"
       },
       "engines": {
@@ -1208,36 +1246,37 @@
       }
     },
     "node_modules/@mongosh/cli-repl": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/cli-repl/-/cli-repl-2.2.5.tgz",
-      "integrity": "sha512-TNIfVUJks7D9psvF/nHD7YifuQ0eYca8R8sKdDCuBu/H8xmbmQmARhHO2tGeaI0osR6HJkUunpYgbXwB4hnmHw==",
-      "dependencies": {
-        "@mongosh/arg-parser": "2.2.5",
-        "@mongosh/autocomplete": "2.2.5",
-        "@mongosh/editor": "2.2.5",
-        "@mongosh/errors": "2.2.5",
-        "@mongosh/history": "2.2.5",
-        "@mongosh/i18n": "2.2.5",
-        "@mongosh/import-node-fetch": "2.2.5",
-        "@mongosh/js-multiline-to-singleline": "2.2.5",
-        "@mongosh/logging": "2.2.5",
-        "@mongosh/service-provider-core": "2.2.5",
-        "@mongosh/service-provider-server": "2.2.5",
-        "@mongosh/shell-api": "2.2.5",
-        "@mongosh/shell-evaluator": "2.2.5",
-        "@mongosh/snippet-manager": "2.2.5",
-        "@mongosh/types": "2.2.5",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/cli-repl/-/cli-repl-2.2.9.tgz",
+      "integrity": "sha512-9gcu2lG9d9aFT+KPRVXpgX84Ounpp0/uuBFln5XuZfKXZwoWbpWD7zJ3mBdzAQKyuZ5SR2x6NokGGZbEbLGhrA==",
+      "dependencies": {
+        "@mongosh/arg-parser": "2.2.9",
+        "@mongosh/autocomplete": "2.2.9",
+        "@mongosh/editor": "2.2.9",
+        "@mongosh/errors": "2.2.9",
+        "@mongosh/history": "2.2.9",
+        "@mongosh/i18n": "2.2.9",
+        "@mongosh/import-node-fetch": "2.2.9",
+        "@mongosh/js-multiline-to-singleline": "2.2.9",
+        "@mongosh/logging": "2.2.9",
+        "@mongosh/service-provider-core": "2.2.9",
+        "@mongosh/service-provider-server": "2.2.9",
+        "@mongosh/shell-api": "2.2.9",
+        "@mongosh/shell-evaluator": "2.2.9",
+        "@mongosh/snippet-manager": "2.2.9",
+        "@mongosh/types": "2.2.9",
         "@segment/analytics-node": "^1.3.0",
         "ansi-escape-sequences": "^5.1.2",
-        "askcharacter": "^1.0.0",
-        "askpassword": "^1.2.4",
+        "askcharacter": "^2.0.4",
+        "askpassword": "^2.0.2",
         "escape-string-regexp": "^4.0.0",
         "is-recoverable-error": "^1.0.3",
         "js-yaml": "^4.1.0",
-        "mongodb-connection-string-url": "^3.0.0",
-        "mongodb-log-writer": "^1.4.0",
+        "mongodb-connection-string-url": "^3.0.1",
+        "mongodb-log-writer": "^1.4.2",
         "numeral": "^2.0.6",
-        "pretty-repl": "^4.0.0",
+        "pretty-repl": "^4.0.1",
+        "proxy-agent": "^6.4.0",
         "semver": "^7.5.4",
         "strip-ansi": "^6.0.0",
         "text-table": "^0.2.0",
@@ -1250,23 +1289,23 @@
         "node": ">=16.15.0"
       },
       "optionalDependencies": {
-        "get-console-process-list": "^1.0.4",
+        "get-console-process-list": "^1.0.5",
         "glibc-version": "^1.0.0",
-        "macos-export-certificate-and-key": "^1.1.1",
-        "mongodb-crypt-library-version": "^1.0.3",
-        "win-export-certificate-and-key": "^1.1.1"
+        "macos-export-certificate-and-key": "^1.1.2",
+        "mongodb-crypt-library-version": "^1.0.5",
+        "win-export-certificate-and-key": "^1.1.2"
       }
     },
     "node_modules/@mongosh/editor": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/editor/-/editor-2.2.5.tgz",
-      "integrity": "sha512-ji7NrcOgTrC9JfDP4QPiB53qPdy9G/Osc01OF3Wm4qS/mFqSB4zgTTV0YLMzYDpG+esIGGhe8yfVrofBj0VX7A==",
-      "dependencies": {
-        "@mongosh/js-multiline-to-singleline": "2.2.5",
-        "@mongosh/service-provider-core": "2.2.5",
-        "@mongosh/shell-api": "2.2.5",
-        "@mongosh/shell-evaluator": "2.2.5",
-        "@mongosh/types": "2.2.5",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/editor/-/editor-2.2.9.tgz",
+      "integrity": "sha512-kTCgkeZBg1AYLKq65elwusyDiKeTyh5l4W3yg2yGvuzhk1I73DPsSkA+E2TWpqVgzsTeRXUbmySSMrKxx/t+mA==",
+      "dependencies": {
+        "@mongosh/js-multiline-to-singleline": "2.2.9",
+        "@mongosh/service-provider-core": "2.2.9",
+        "@mongosh/shell-api": "2.2.9",
+        "@mongosh/shell-evaluator": "2.2.9",
+        "@mongosh/types": "2.2.9",
         "js-beautify": "^1.15.1"
       },
       "engines": {
@@ -1274,40 +1313,40 @@
       }
     },
     "node_modules/@mongosh/errors": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/errors/-/errors-2.2.5.tgz",
-      "integrity": "sha512-UdTod4Evw/X2XW91FG2DJ5E57J+0GLz4zuGxLdPcRcWSdnqZVgd+lTTPC9uzoMoWCs3bv6y54HmoWbqUEYlpEQ==",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/errors/-/errors-2.2.9.tgz",
+      "integrity": "sha512-gN7czs7VK1OoG6H2Cq4gVVUZZPUeBxsBBKeOOFQIGy6QH5IAr4pm/w17K5dhOEoGhdH37h3WOp3dS24z/6NF0A==",
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/history": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/history/-/history-2.2.5.tgz",
-      "integrity": "sha512-LvQQ493B4SFYawf83fE/lfkXtP2o2Y5VKj+tKMiHP1RQqWNxrAPndt3sNHlFpeFGppEzCiXz1mTwu4Lbko0tqA==",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/history/-/history-2.2.9.tgz",
+      "integrity": "sha512-Irm8s2z48T+OMADrmJSe+xvCXMkPUCCTltGgVY3w+vm42ftfd6k3ZXGlVu+j/QNCp1D4HmRLDY6RmnQLFb2IUw==",
       "dependencies": {
-        "mongodb-connection-string-url": "^3.0.0",
-        "mongodb-redact": "^0.2.2"
+        "mongodb-connection-string-url": "^3.0.1",
+        "mongodb-redact": "^0.2.3"
       },
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/i18n": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/i18n/-/i18n-2.2.5.tgz",
-      "integrity": "sha512-jjjO6RniNX5jL2tb8HtOGOuZZVnlc3XxKuPUBwQuk6tbxpJEjSIv1D3U+F4eGNGrfD6rVXRrjw+0SrdzizI/EA==",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/i18n/-/i18n-2.2.9.tgz",
+      "integrity": "sha512-AhEEAHV/2ytZ1swDV7VmKYt4D0P+2pqf8khR3OwOg5RJ0Cx8vRS4RdWvszxKeA26s2zlPMRiherwPTdAEc5zww==",
       "dependencies": {
-        "@mongosh/errors": "2.2.5"
+        "@mongosh/errors": "2.2.9"
       },
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/import-node-fetch": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/import-node-fetch/-/import-node-fetch-2.2.5.tgz",
-      "integrity": "sha512-RqwYM32AOwwfyTD02WDOHvN/zKDe+/TYFsgU31c4qle51yvlwRs3LPKzuwTYUPLAXxF8MzlzjvHGQGlemCKTTA==",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/import-node-fetch/-/import-node-fetch-2.2.9.tgz",
+      "integrity": "sha512-YbC6nJjnR1kSOZHVD/8gx6hh8eZkkZ9r4M9NFyDTTynbKgZNCwMtFBtl10zYsNMLJOCKW6o8vJ2YFsBLdZNyww==",
       "dependencies": {
         "node-fetch": "^3.3.2"
       },
@@ -1316,9 +1355,9 @@
       }
     },
     "node_modules/@mongosh/js-multiline-to-singleline": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/js-multiline-to-singleline/-/js-multiline-to-singleline-2.2.5.tgz",
-      "integrity": "sha512-20qZfBXIxn2VQv48hMxbQgBdr1lQ+jESSjlsYzMovaaRDxaLu0RBm9Vg0+TUSQKsF/ep2ZG4jTyRS/XfSOm8Iw==",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/js-multiline-to-singleline/-/js-multiline-to-singleline-2.2.9.tgz",
+      "integrity": "sha512-3EPqCQ64zwqR7PpdITBd3e8grpnwE7XIohuVbYXNo48Hlnz0Gdc8QAjSwQF2LO51ozCmPVcrQqCjVuLjdtPBUA==",
       "dependencies": {
         "@babel/core": "^7.16.12",
         "@babel/types": "^7.21.2"
@@ -1328,31 +1367,31 @@
       }
     },
     "node_modules/@mongosh/logging": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/logging/-/logging-2.2.5.tgz",
-      "integrity": "sha512-NneAPHoyMSkY5/BuIbQJOKuldqLA6QtiitmQV00EP2p/nqC9xX+gtU7i9pUxFFR2qlKHeLjJwQVA9R9qGpOPyA==",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/logging/-/logging-2.2.9.tgz",
+      "integrity": "sha512-/LvJ3Rk2B5Po7JkG/suZIaJybAzCUSvNGRmobwR6HeDJ4RwKMKvPUJrUYu1GXXQqdLNDXH2o9eEWojMk/IA3LQ==",
       "dependencies": {
-        "@mongodb-js/devtools-connect": "^2.6.0",
-        "@mongosh/errors": "2.2.5",
-        "@mongosh/history": "2.2.5",
-        "@mongosh/types": "2.2.5",
-        "mongodb-log-writer": "^1.4.0",
-        "mongodb-redact": "^0.2.2"
+        "@mongodb-js/devtools-connect": "^3.0.1",
+        "@mongosh/errors": "2.2.9",
+        "@mongosh/history": "2.2.9",
+        "@mongosh/types": "2.2.9",
+        "mongodb-log-writer": "^1.4.2",
+        "mongodb-redact": "^0.2.3"
       },
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/service-provider-core": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-core/-/service-provider-core-2.2.5.tgz",
-      "integrity": "sha512-NiQJkESYyRiX+zEIGE8gE8RINNSGa5cm07DkLB5DM7ebIMNuPbfU7byvh6AcW8R2QQZ0hEKWf4HosW1hnhFAHg==",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-core/-/service-provider-core-2.2.9.tgz",
+      "integrity": "sha512-QJ+4TBD30C3cGoKoBtGOH82RVTKNMcBG1vhs8rfRheajivMLEBka2Hk/49R6yv9lhSfwgueH57+6EFNdqVFgSQ==",
       "dependencies": {
         "@aws-sdk/credential-providers": "^3.525.0",
-        "@mongosh/errors": "2.2.5",
-        "bson": "^6.5.0",
-        "mongodb": "^6.5.0",
-        "mongodb-build-info": "^1.7.1"
+        "@mongosh/errors": "2.2.9",
+        "bson": "^6.7.0",
+        "mongodb": "^6.7.0",
+        "mongodb-build-info": "^1.7.2"
       },
       "engines": {
         "node": ">=14.15.1"
@@ -1362,20 +1401,19 @@
       }
     },
     "node_modules/@mongosh/service-provider-server": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-server/-/service-provider-server-2.2.5.tgz",
-      "integrity": "sha512-vq6pJ9SqkEnns4hCEYnc2Rva+rnYAd4Vynpj90gKZwW67ApNNo1RpqXGNRgciFgmiWb+gqJVQk8gD+xytAcYxQ==",
-      "dependencies": {
-        "@mongodb-js/devtools-connect": "^2.6.0",
-        "@mongodb-js/oidc-plugin": "^0.4.0",
-        "@mongosh/errors": "2.2.5",
-        "@mongosh/service-provider-core": "2.2.5",
-        "@mongosh/types": "2.2.5",
-        "@types/sinon-chai": "^3.2.4",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-server/-/service-provider-server-2.2.9.tgz",
+      "integrity": "sha512-G4pXkwvvlnFW5sLQAbgDwqpt0tBJHlsQPJN+eMT9N6gRtEnhxAnOuOGA4zKTcaOZN2bTnzd6F7Yu5Z5AOOVXUA==",
+      "dependencies": {
+        "@mongodb-js/devtools-connect": "^3.0.1",
+        "@mongodb-js/oidc-plugin": "^1.0.2",
+        "@mongosh/errors": "2.2.9",
+        "@mongosh/service-provider-core": "2.2.9",
+        "@mongosh/types": "2.2.9",
         "aws4": "^1.12.0",
-        "mongodb": "^6.5.0",
-        "mongodb-connection-string-url": "^3.0.0",
-        "socks": "^2.8.1"
+        "mongodb": "^6.7.0",
+        "mongodb-connection-string-url": "^3.0.1",
+        "socks": "^2.8.3"
       },
       "engines": {
         "node": ">=14.15.1"
@@ -1386,44 +1424,44 @@
       }
     },
     "node_modules/@mongosh/shell-api": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/shell-api/-/shell-api-2.2.5.tgz",
-      "integrity": "sha512-FPgzPOudhayvRuD50Hux2Ojs//JhKllOzX4TT3s8qNmcujJpOtQ4BVWTmREEivBSmwkagA2ag374KUlzRlxtTw==",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/shell-api/-/shell-api-2.2.9.tgz",
+      "integrity": "sha512-1Wo2RJ1vpYY/LRKKyIgl9vn7nycBVpO+iAaOFRSI0VxcW7dujROIm+XLBzqvJql/0qeqfnQGXv+jCTb13emduw==",
       "dependencies": {
-        "@mongosh/arg-parser": "2.2.5",
-        "@mongosh/errors": "2.2.5",
-        "@mongosh/history": "2.2.5",
-        "@mongosh/i18n": "2.2.5",
-        "@mongosh/service-provider-core": "2.2.5",
-        "mongodb-redact": "^0.2.2"
+        "@mongosh/arg-parser": "2.2.9",
+        "@mongosh/errors": "2.2.9",
+        "@mongosh/history": "2.2.9",
+        "@mongosh/i18n": "2.2.9",
+        "@mongosh/service-provider-core": "2.2.9",
+        "mongodb-redact": "^0.2.3"
       },
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/shell-evaluator": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/shell-evaluator/-/shell-evaluator-2.2.5.tgz",
-      "integrity": "sha512-2RRHBRrK0izXLnVHtWttrOmYM8aDNhPNfmxuxkd5UFMGDYTAQ7JNmBVlvo0jPsWNZLLMCioVDdvvQY+WuyDgzg==",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/shell-evaluator/-/shell-evaluator-2.2.9.tgz",
+      "integrity": "sha512-p56jKPaRfFKT4yW3FrmLeawy/8qL7x2q9Gx88e0iJhBI3ybft0dQ1tWvX3mMg6YxZGNsDeHgPSAwNlFAy3lxiQ==",
       "dependencies": {
-        "@mongosh/async-rewriter2": "2.2.5",
-        "@mongosh/history": "2.2.5",
-        "@mongosh/shell-api": "2.2.5"
+        "@mongosh/async-rewriter2": "2.2.9",
+        "@mongosh/history": "2.2.9",
+        "@mongosh/shell-api": "2.2.9"
       },
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/snippet-manager": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/snippet-manager/-/snippet-manager-2.2.5.tgz",
-      "integrity": "sha512-q9mvh+f7L7QGiCVmIGp7ECmphOCd1jUy0aK2wkbzFl3E6Liwqh0DlJB0Uue2VA72LmJd36kowKFoA8TYo4DgwA==",
-      "dependencies": {
-        "@mongosh/errors": "2.2.5",
-        "@mongosh/import-node-fetch": "2.2.5",
-        "@mongosh/shell-api": "2.2.5",
-        "@mongosh/types": "2.2.5",
-        "bson": "^6.5.0",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/snippet-manager/-/snippet-manager-2.2.9.tgz",
+      "integrity": "sha512-JG9Svfoh1z30U7mwbojx0Wm2BkVd6wqqkkpxucgJ9ba2DG7VvgN4iez6HQa+eA3KmMKVII7IzYnt/J0gOum80g==",
+      "dependencies": {
+        "@mongosh/errors": "2.2.9",
+        "@mongosh/import-node-fetch": "2.2.9",
+        "@mongosh/shell-api": "2.2.9",
+        "@mongosh/types": "2.2.9",
+        "bson": "^6.7.0",
         "cross-spawn": "^7.0.3",
         "escape-string-regexp": "^4.0.0",
         "joi": "^17.4.0",
@@ -1434,11 +1472,11 @@
       }
     },
     "node_modules/@mongosh/types": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmmirror.com/@mongosh/types/-/types-2.2.5.tgz",
-      "integrity": "sha512-wWt1CQiQZylsgseehJ0ODspZ757l8c01VPsDKhUNFwhikhZiG2hlmPT8hR0D78ZkzQbHkC4ajOObsxkWaBCJ7g==",
+      "version": "2.2.9",
+      "resolved": "https://registry.npmmirror.com/@mongosh/types/-/types-2.2.9.tgz",
+      "integrity": "sha512-Vo91tPc24nrybDsE/wQXbKynB3VC8BvF+yallZpMvLNtckr5q7nTuaTBWG5Er1myPA5MQhZm6DgpsIWR1YnGgg==",
       "dependencies": {
-        "@mongodb-js/devtools-connect": "^2.6.0"
+        "@mongodb-js/devtools-connect": "^3.0.1"
       },
       "engines": {
         "node": ">=14.15.1"
@@ -1550,402 +1588,402 @@
       "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ=="
     },
     "node_modules/@smithy/abort-controller": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/abort-controller/-/abort-controller-2.2.0.tgz",
-      "integrity": "sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/abort-controller/-/abort-controller-3.0.1.tgz",
+      "integrity": "sha512-Jb7jg4E+C+uvrUQi+h9kbILY6ts6fglKZzseMCHlH9ayq+1f5QdpYf8MV/xppuiN6DAMJAmwGz53GwP3213dmA==",
       "dependencies": {
-        "@smithy/types": "^2.12.0",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/config-resolver": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/config-resolver/-/config-resolver-2.2.0.tgz",
-      "integrity": "sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==",
-      "dependencies": {
-        "@smithy/node-config-provider": "^2.3.0",
-        "@smithy/types": "^2.12.0",
-        "@smithy/util-config-provider": "^2.3.0",
-        "@smithy/util-middleware": "^2.2.0",
+      "version": "3.0.2",
+      "resolved": "https://registry.npmmirror.com/@smithy/config-resolver/-/config-resolver-3.0.2.tgz",
+      "integrity": "sha512-wUyG6ezpp2sWAvfqmSYTROwFUmJqKV78GLf55WODrosBcT0BAMd9bOLO4HRhynWBgAobPml2cF9ZOdgCe00r+g==",
+      "dependencies": {
+        "@smithy/node-config-provider": "^3.1.1",
+        "@smithy/types": "^3.1.0",
+        "@smithy/util-config-provider": "^3.0.0",
+        "@smithy/util-middleware": "^3.0.1",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/core": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmmirror.com/@smithy/core/-/core-1.4.2.tgz",
-      "integrity": "sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==",
-      "dependencies": {
-        "@smithy/middleware-endpoint": "^2.5.1",
-        "@smithy/middleware-retry": "^2.3.1",
-        "@smithy/middleware-serde": "^2.3.0",
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/smithy-client": "^2.5.1",
-        "@smithy/types": "^2.12.0",
-        "@smithy/util-middleware": "^2.2.0",
+      "version": "2.2.2",
+      "resolved": "https://registry.npmmirror.com/@smithy/core/-/core-2.2.2.tgz",
+      "integrity": "sha512-bxZr4ZTqS6hMSQGYdcsfFQTFU0MO2xKLbkqZMSRDM+ruQ0nY00lFJUeLhXe7fqohSEd1y5wKu1Ap0bVJPzpmHg==",
+      "dependencies": {
+        "@smithy/middleware-endpoint": "^3.0.2",
+        "@smithy/middleware-retry": "^3.0.5",
+        "@smithy/middleware-serde": "^3.0.1",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/smithy-client": "^3.1.3",
+        "@smithy/types": "^3.1.0",
+        "@smithy/util-middleware": "^3.0.1",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/credential-provider-imds": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.3.0.tgz",
-      "integrity": "sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.1.1.tgz",
+      "integrity": "sha512-htndP0LwHdE3R3Nam9ZyVWhwPYOmD4xCL79kqvNxy8u/bv0huuy574CSiRY4cvEICgimv8jlVfLeZ7zZqbnB2g==",
       "dependencies": {
-        "@smithy/node-config-provider": "^2.3.0",
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/types": "^2.12.0",
-        "@smithy/url-parser": "^2.2.0",
+        "@smithy/node-config-provider": "^3.1.1",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/types": "^3.1.0",
+        "@smithy/url-parser": "^3.0.1",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/fetch-http-handler": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.5.0.tgz",
-      "integrity": "sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmmirror.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.0.3.tgz",
+      "integrity": "sha512-31x2MokxJL/u5U/BdElvVRotOGjUcOOvI2pb5TZ02umBLw+vVHImiLn+khbN0SblaFXNRzPoGrKwXylNjV3skw==",
       "dependencies": {
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/querystring-builder": "^2.2.0",
-        "@smithy/types": "^2.12.0",
-        "@smithy/util-base64": "^2.3.0",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/querystring-builder": "^3.0.1",
+        "@smithy/types": "^3.1.0",
+        "@smithy/util-base64": "^3.0.0",
         "tslib": "^2.6.2"
       }
     },
     "node_modules/@smithy/hash-node": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/hash-node/-/hash-node-2.2.0.tgz",
-      "integrity": "sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/hash-node/-/hash-node-3.0.1.tgz",
+      "integrity": "sha512-w2ncjgk2EYO2+WhAsSQA8owzoOSY7IL1qVytlwpnL1pFGWTjIoIh5nROkEKXY51unB63bMGZqDiVoXaFbyKDlg==",
       "dependencies": {
-        "@smithy/types": "^2.12.0",
-        "@smithy/util-buffer-from": "^2.2.0",
-        "@smithy/util-utf8": "^2.3.0",
+        "@smithy/types": "^3.1.0",
+        "@smithy/util-buffer-from": "^3.0.0",
+        "@smithy/util-utf8": "^3.0.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/invalid-dependency": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/invalid-dependency/-/invalid-dependency-2.2.0.tgz",
-      "integrity": "sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.1.tgz",
+      "integrity": "sha512-RSNF/32BKygXKKMyS7koyuAq1rcdW5p5c4EFa77QenBFze9As+JiRnV9OWBh2cB/ejGZalEZjvIrMLHwJl7aGA==",
       "dependencies": {
-        "@smithy/types": "^2.12.0",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       }
     },
     "node_modules/@smithy/is-array-buffer": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
-      "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz",
+      "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==",
       "dependencies": {
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/middleware-content-length": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/middleware-content-length/-/middleware-content-length-2.2.0.tgz",
-      "integrity": "sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.1.tgz",
+      "integrity": "sha512-6QdK/VbrCfXD5/QolE2W/ok6VqxD+SM28Ds8iSlEHXZwv4buLsvWyvoEEy0322K/g5uFgPzBmZjGqesTmPL+yQ==",
       "dependencies": {
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/types": "^2.12.0",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/middleware-endpoint": {
-      "version": "2.5.1",
-      "resolved": "https://registry.npmmirror.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.5.1.tgz",
-      "integrity": "sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==",
-      "dependencies": {
-        "@smithy/middleware-serde": "^2.3.0",
-        "@smithy/node-config-provider": "^2.3.0",
-        "@smithy/shared-ini-file-loader": "^2.4.0",
-        "@smithy/types": "^2.12.0",
-        "@smithy/url-parser": "^2.2.0",
-        "@smithy/util-middleware": "^2.2.0",
+      "version": "3.0.2",
+      "resolved": "https://registry.npmmirror.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.0.2.tgz",
+      "integrity": "sha512-gWEaGYB3Bei17Oiy/F2IlUPpBazNXImytoOdJ1xbrUOaJKAOiUhx8/4FOnYLLJHdAwa9PlvJ2ULda2f/Dnwi9w==",
+      "dependencies": {
+        "@smithy/middleware-serde": "^3.0.1",
+        "@smithy/node-config-provider": "^3.1.1",
+        "@smithy/shared-ini-file-loader": "^3.1.1",
+        "@smithy/types": "^3.1.0",
+        "@smithy/url-parser": "^3.0.1",
+        "@smithy/util-middleware": "^3.0.1",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/middleware-retry": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmmirror.com/@smithy/middleware-retry/-/middleware-retry-2.3.1.tgz",
-      "integrity": "sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==",
-      "dependencies": {
-        "@smithy/node-config-provider": "^2.3.0",
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/service-error-classification": "^2.1.5",
-        "@smithy/smithy-client": "^2.5.1",
-        "@smithy/types": "^2.12.0",
-        "@smithy/util-middleware": "^2.2.0",
-        "@smithy/util-retry": "^2.2.0",
+      "version": "3.0.5",
+      "resolved": "https://registry.npmmirror.com/@smithy/middleware-retry/-/middleware-retry-3.0.5.tgz",
+      "integrity": "sha512-nKAmmea9Wm0d94obPqVgjxW2zzaNemxcTzjgd17LhGKI23D66UQKI5gpoWDsnE+R4tfuZe9dCcw8gmTVEwFpRA==",
+      "dependencies": {
+        "@smithy/node-config-provider": "^3.1.1",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/service-error-classification": "^3.0.1",
+        "@smithy/smithy-client": "^3.1.3",
+        "@smithy/types": "^3.1.0",
+        "@smithy/util-middleware": "^3.0.1",
+        "@smithy/util-retry": "^3.0.1",
         "tslib": "^2.6.2",
         "uuid": "^9.0.1"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/middleware-serde": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/middleware-serde/-/middleware-serde-2.3.0.tgz",
-      "integrity": "sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/middleware-serde/-/middleware-serde-3.0.1.tgz",
+      "integrity": "sha512-ak6H/ZRN05r5+SR0/IUc5zOSyh2qp3HReg1KkrnaSLXmncy9lwOjNqybX4L4x55/e5mtVDn1uf/gQ6bw5neJPw==",
       "dependencies": {
-        "@smithy/types": "^2.12.0",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/middleware-stack": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/middleware-stack/-/middleware-stack-2.2.0.tgz",
-      "integrity": "sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/middleware-stack/-/middleware-stack-3.0.1.tgz",
+      "integrity": "sha512-fS5uT//y1SlBdkzIvgmWQ9FufwMXrHSSbuR25ygMy1CRDIZkcBMoF4oTMYNfR9kBlVBcVzlv7joFdNrFuQirPA==",
       "dependencies": {
-        "@smithy/types": "^2.12.0",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/node-config-provider": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/node-config-provider/-/node-config-provider-2.3.0.tgz",
-      "integrity": "sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/node-config-provider/-/node-config-provider-3.1.1.tgz",
+      "integrity": "sha512-z5G7+ysL4yUtMghUd2zrLkecu0mTfnYlt5dR76g/HsFqf7evFazwiZP1ag2EJenGxNBDwDM5g8nm11NPogiUVA==",
       "dependencies": {
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/shared-ini-file-loader": "^2.4.0",
-        "@smithy/types": "^2.12.0",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/shared-ini-file-loader": "^3.1.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/node-http-handler": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/node-http-handler/-/node-http-handler-2.5.0.tgz",
-      "integrity": "sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/node-http-handler/-/node-http-handler-3.0.1.tgz",
+      "integrity": "sha512-hlBI6MuREA4o1wBMEt+QNhUzoDtFFvwR6ecufimlx9D79jPybE/r8kNorphXOi91PgSO9S2fxRjcKCLk7Jw8zA==",
       "dependencies": {
-        "@smithy/abort-controller": "^2.2.0",
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/querystring-builder": "^2.2.0",
-        "@smithy/types": "^2.12.0",
+        "@smithy/abort-controller": "^3.0.1",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/querystring-builder": "^3.0.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/property-provider": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/property-provider/-/property-provider-2.2.0.tgz",
-      "integrity": "sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/property-provider/-/property-provider-3.1.1.tgz",
+      "integrity": "sha512-YknOMZcQkB5on+MU0DvbToCmT2YPtTETMXW0D3+/Iln7ezT+Zm1GMHhCW1dOH/X/+LkkQD9aXEoCX/B10s4Xdw==",
       "dependencies": {
-        "@smithy/types": "^2.12.0",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/protocol-http": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/protocol-http/-/protocol-http-3.3.0.tgz",
-      "integrity": "sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/protocol-http/-/protocol-http-4.0.1.tgz",
+      "integrity": "sha512-eBhm9zwcFPEazc654c0BEWtxYAzrw+OhoSf5pkwKzfftWKXRoqEhwOE2Pvn30v0iAdo7Mfsfb6pi1NnZlGCMpg==",
       "dependencies": {
-        "@smithy/types": "^2.12.0",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/querystring-builder": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/querystring-builder/-/querystring-builder-2.2.0.tgz",
-      "integrity": "sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/querystring-builder/-/querystring-builder-3.0.1.tgz",
+      "integrity": "sha512-vKitpnG/2KOMVlx3x1S3FkBH075EROG3wcrcDaNerQNh8yuqnSL23btCD2UyX4i4lpPzNW6VFdxbn2Z25b/g5Q==",
       "dependencies": {
-        "@smithy/types": "^2.12.0",
-        "@smithy/util-uri-escape": "^2.2.0",
+        "@smithy/types": "^3.1.0",
+        "@smithy/util-uri-escape": "^3.0.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/querystring-parser": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/querystring-parser/-/querystring-parser-2.2.0.tgz",
-      "integrity": "sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/querystring-parser/-/querystring-parser-3.0.1.tgz",
+      "integrity": "sha512-Qt8DMC05lVS8NcQx94lfVbZSX+2Ym7032b/JR8AlboAa/D669kPzqb35dkjkvAG6+NWmUchef3ENtrD6F+5n8Q==",
       "dependencies": {
-        "@smithy/types": "^2.12.0",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/service-error-classification": {
-      "version": "2.1.5",
-      "resolved": "https://registry.npmmirror.com/@smithy/service-error-classification/-/service-error-classification-2.1.5.tgz",
-      "integrity": "sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/service-error-classification/-/service-error-classification-3.0.1.tgz",
+      "integrity": "sha512-ubFUvIePjDCyIzZ+pLETqNC6KXJ/fc6g+/baqel7Zf6kJI/kZKgjwkCI7zbUhoUuOZ/4eA/87YasVu40b/B4bA==",
       "dependencies": {
-        "@smithy/types": "^2.12.0"
+        "@smithy/types": "^3.1.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/shared-ini-file-loader": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.4.0.tgz",
-      "integrity": "sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.1.tgz",
+      "integrity": "sha512-nD6tXIX2126/P9e3wqRY1bm9dTtPZwRDyjVOd18G28o+1UOG+kOVgUwujE795HslSuPlEgqzsH5sgNP1hDjj9g==",
       "dependencies": {
-        "@smithy/types": "^2.12.0",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/signature-v4": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/signature-v4/-/signature-v4-2.3.0.tgz",
-      "integrity": "sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==",
-      "dependencies": {
-        "@smithy/is-array-buffer": "^2.2.0",
-        "@smithy/types": "^2.12.0",
-        "@smithy/util-hex-encoding": "^2.2.0",
-        "@smithy/util-middleware": "^2.2.0",
-        "@smithy/util-uri-escape": "^2.2.0",
-        "@smithy/util-utf8": "^2.3.0",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/signature-v4/-/signature-v4-3.1.0.tgz",
+      "integrity": "sha512-m0/6LW3IQ3/JBcdhqjpkpABPTPhcejqeAn0U877zxBdNLiWAnG2WmCe5MfkUyVuvpFTPQnQwCo/0ZBR4uF5kxg==",
+      "dependencies": {
+        "@smithy/is-array-buffer": "^3.0.0",
+        "@smithy/types": "^3.1.0",
+        "@smithy/util-hex-encoding": "^3.0.0",
+        "@smithy/util-middleware": "^3.0.1",
+        "@smithy/util-uri-escape": "^3.0.0",
+        "@smithy/util-utf8": "^3.0.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/smithy-client": {
-      "version": "2.5.1",
-      "resolved": "https://registry.npmmirror.com/@smithy/smithy-client/-/smithy-client-2.5.1.tgz",
-      "integrity": "sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==",
-      "dependencies": {
-        "@smithy/middleware-endpoint": "^2.5.1",
-        "@smithy/middleware-stack": "^2.2.0",
-        "@smithy/protocol-http": "^3.3.0",
-        "@smithy/types": "^2.12.0",
-        "@smithy/util-stream": "^2.2.0",
+      "version": "3.1.3",
+      "resolved": "https://registry.npmmirror.com/@smithy/smithy-client/-/smithy-client-3.1.3.tgz",
+      "integrity": "sha512-YVz+akpR5lIIRPJfhE4sqoHYwMys6/33vsFvDof+71FCwa4jkVfMpzKv9TKrG/EDb5TV+YtjdXkwywdqlUOQXA==",
+      "dependencies": {
+        "@smithy/middleware-endpoint": "^3.0.2",
+        "@smithy/middleware-stack": "^3.0.1",
+        "@smithy/protocol-http": "^4.0.1",
+        "@smithy/types": "^3.1.0",
+        "@smithy/util-stream": "^3.0.3",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/types": {
-      "version": "2.12.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/types/-/types-2.12.0.tgz",
-      "integrity": "sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/types/-/types-3.1.0.tgz",
+      "integrity": "sha512-qi4SeCVOUPjhSSZrxxB/mB8DrmuSFUcJnD9KXjuP+7C3LV/KFV4kpuUSH3OHDZgQB9TEH/1sO/Fq/5HyaK9MPw==",
       "dependencies": {
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/url-parser": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/url-parser/-/url-parser-2.2.0.tgz",
-      "integrity": "sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/url-parser/-/url-parser-3.0.1.tgz",
+      "integrity": "sha512-G140IlNFlzYWVCedC4E2d6NycM1dCUbe5CnsGW1hmGt4hYKiGOw0v7lVru9WAn5T2w09QEjl4fOESWjGmCvVmg==",
       "dependencies": {
-        "@smithy/querystring-parser": "^2.2.0",
-        "@smithy/types": "^2.12.0",
+        "@smithy/querystring-parser": "^3.0.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       }
     },
     "node_modules/@smithy/util-base64": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-base64/-/util-base64-2.3.0.tgz",
-      "integrity": "sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-base64/-/util-base64-3.0.0.tgz",
+      "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==",
       "dependencies": {
-        "@smithy/util-buffer-from": "^2.2.0",
-        "@smithy/util-utf8": "^2.3.0",
+        "@smithy/util-buffer-from": "^3.0.0",
+        "@smithy/util-utf8": "^3.0.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/util-body-length-browser": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.2.0.tgz",
-      "integrity": "sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz",
+      "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==",
       "dependencies": {
         "tslib": "^2.6.2"
       }
     },
     "node_modules/@smithy/util-body-length-node": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-body-length-node/-/util-body-length-node-2.3.0.tgz",
-      "integrity": "sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz",
+      "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==",
       "dependencies": {
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/util-buffer-from": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
-      "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz",
+      "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==",
       "dependencies": {
-        "@smithy/is-array-buffer": "^2.2.0",
+        "@smithy/is-array-buffer": "^3.0.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/util-config-provider": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-config-provider/-/util-config-provider-2.3.0.tgz",
-      "integrity": "sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz",
+      "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==",
       "dependencies": {
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/util-defaults-mode-browser": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.2.1.tgz",
-      "integrity": "sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==",
+      "version": "3.0.5",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.5.tgz",
+      "integrity": "sha512-VZkJ+bXCHcNSMhX8EReGyFcc/Err94YGqeEKbbxkVz2TgKlacsoplpi+kxOMVbQq/tq9sQx5ajBKG+nl2GNuxw==",
       "dependencies": {
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/smithy-client": "^2.5.1",
-        "@smithy/types": "^2.12.0",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/smithy-client": "^3.1.3",
+        "@smithy/types": "^3.1.0",
         "bowser": "^2.11.0",
         "tslib": "^2.6.2"
       },
@@ -1954,16 +1992,16 @@
       }
     },
     "node_modules/@smithy/util-defaults-mode-node": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.3.1.tgz",
-      "integrity": "sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==",
-      "dependencies": {
-        "@smithy/config-resolver": "^2.2.0",
-        "@smithy/credential-provider-imds": "^2.3.0",
-        "@smithy/node-config-provider": "^2.3.0",
-        "@smithy/property-provider": "^2.2.0",
-        "@smithy/smithy-client": "^2.5.1",
-        "@smithy/types": "^2.12.0",
+      "version": "3.0.5",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.5.tgz",
+      "integrity": "sha512-jy19cFQA0k4f8VUDFsZVBey3rmI8EuXCw/xh/abdiq6S1qdwdfZ5coviuyYd//LPszf2yWIYkLpvmLF9qbhLGg==",
+      "dependencies": {
+        "@smithy/config-resolver": "^3.0.2",
+        "@smithy/credential-provider-imds": "^3.1.1",
+        "@smithy/node-config-provider": "^3.1.1",
+        "@smithy/property-provider": "^3.1.1",
+        "@smithy/smithy-client": "^3.1.3",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
@@ -1971,158 +2009,99 @@
       }
     },
     "node_modules/@smithy/util-endpoints": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-endpoints/-/util-endpoints-1.2.0.tgz",
-      "integrity": "sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-endpoints/-/util-endpoints-2.0.2.tgz",
+      "integrity": "sha512-4zFOcBFQvifd2LSD4a1dKvfIWWwh4sWNtS3oZ7mpob/qPPmJseqKB148iT+hWCDsG//TmI+8vjYPgZdvnkYlTg==",
       "dependencies": {
-        "@smithy/node-config-provider": "^2.3.0",
-        "@smithy/types": "^2.12.0",
+        "@smithy/node-config-provider": "^3.1.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">= 14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/util-hex-encoding": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.2.0.tgz",
-      "integrity": "sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz",
+      "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==",
       "dependencies": {
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/util-middleware": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-middleware/-/util-middleware-2.2.0.tgz",
-      "integrity": "sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-middleware/-/util-middleware-3.0.1.tgz",
+      "integrity": "sha512-WRODCQtUsO7vIvfrdxS8RFPeLKcewYtaCglZsBsedIKSUGIIvMlZT5oh+pCe72I+1L+OjnZuqRNpN2LKhWA4KQ==",
       "dependencies": {
-        "@smithy/types": "^2.12.0",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/util-retry": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-retry/-/util-retry-2.2.0.tgz",
-      "integrity": "sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-retry/-/util-retry-3.0.1.tgz",
+      "integrity": "sha512-5lRtYm+8fNFEUTdqZXg5M4ppVp40rMIJfR1TpbHAhKQgPIDpWT+iYMaqgnwEbtpi9U1smyUOPv5Sg+M1neOBgw==",
       "dependencies": {
-        "@smithy/service-error-classification": "^2.1.5",
-        "@smithy/types": "^2.12.0",
+        "@smithy/service-error-classification": "^3.0.1",
+        "@smithy/types": "^3.1.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">= 14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/util-stream": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-stream/-/util-stream-2.2.0.tgz",
-      "integrity": "sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==",
-      "dependencies": {
-        "@smithy/fetch-http-handler": "^2.5.0",
-        "@smithy/node-http-handler": "^2.5.0",
-        "@smithy/types": "^2.12.0",
-        "@smithy/util-base64": "^2.3.0",
-        "@smithy/util-buffer-from": "^2.2.0",
-        "@smithy/util-hex-encoding": "^2.2.0",
-        "@smithy/util-utf8": "^2.3.0",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-stream/-/util-stream-3.0.3.tgz",
+      "integrity": "sha512-ztOvXkXKJromRHNzvrLEW/vvTQPnxPBRHA0gR0QX61LnHDgrm4TBT4EQNpWwwHCD1N0nnEL5bEkzo2dt2t34Kg==",
+      "dependencies": {
+        "@smithy/fetch-http-handler": "^3.0.3",
+        "@smithy/node-http-handler": "^3.0.1",
+        "@smithy/types": "^3.1.0",
+        "@smithy/util-base64": "^3.0.0",
+        "@smithy/util-buffer-from": "^3.0.0",
+        "@smithy/util-hex-encoding": "^3.0.0",
+        "@smithy/util-utf8": "^3.0.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/util-uri-escape": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-uri-escape/-/util-uri-escape-2.2.0.tgz",
-      "integrity": "sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz",
+      "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==",
       "dependencies": {
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0"
       }
     },
     "node_modules/@smithy/util-utf8": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
-      "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-utf8/-/util-utf8-3.0.0.tgz",
+      "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==",
       "dependencies": {
-        "@smithy/util-buffer-from": "^2.2.0",
+        "@smithy/util-buffer-from": "^3.0.0",
         "tslib": "^2.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
-      }
-    },
-    "node_modules/@types/babel__core": {
-      "version": "7.20.5",
-      "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz",
-      "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
-      "dependencies": {
-        "@babel/parser": "^7.20.7",
-        "@babel/types": "^7.20.7",
-        "@types/babel__generator": "*",
-        "@types/babel__template": "*",
-        "@types/babel__traverse": "*"
-      }
-    },
-    "node_modules/@types/babel__generator": {
-      "version": "7.6.8",
-      "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.8.tgz",
-      "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
-      "dependencies": {
-        "@babel/types": "^7.0.0"
+        "node": ">=16.0.0"
       }
     },
-    "node_modules/@types/babel__template": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz",
-      "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
-      "dependencies": {
-        "@babel/parser": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "node_modules/@types/babel__traverse": {
-      "version": "7.20.5",
-      "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz",
-      "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==",
-      "dependencies": {
-        "@babel/types": "^7.20.7"
-      }
-    },
-    "node_modules/@types/chai": {
-      "version": "4.3.14",
-      "resolved": "https://registry.npmmirror.com/@types/chai/-/chai-4.3.14.tgz",
-      "integrity": "sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w=="
-    },
-    "node_modules/@types/sinon": {
-      "version": "17.0.3",
-      "resolved": "https://registry.npmmirror.com/@types/sinon/-/sinon-17.0.3.tgz",
-      "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
-      "dependencies": {
-        "@types/sinonjs__fake-timers": "*"
-      }
-    },
-    "node_modules/@types/sinon-chai": {
-      "version": "3.2.12",
-      "resolved": "https://registry.npmmirror.com/@types/sinon-chai/-/sinon-chai-3.2.12.tgz",
-      "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==",
-      "dependencies": {
-        "@types/chai": "*",
-        "@types/sinon": "*"
-      }
-    },
-    "node_modules/@types/sinonjs__fake-timers": {
-      "version": "8.1.5",
-      "resolved": "https://registry.npmmirror.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz",
-      "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ=="
+    "node_modules/@tootallnate/quickjs-emscripten": {
+      "version": "0.23.0",
+      "resolved": "https://registry.npmmirror.com/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
+      "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA=="
     },
     "node_modules/@types/webidl-conversions": {
       "version": "7.0.3",
@@ -2130,9 +2109,9 @@
       "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA=="
     },
     "node_modules/@types/whatwg-url": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmmirror.com/@types/whatwg-url/-/whatwg-url-11.0.4.tgz",
-      "integrity": "sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw==",
+      "version": "11.0.5",
+      "resolved": "https://registry.npmmirror.com/@types/whatwg-url/-/whatwg-url-11.0.5.tgz",
+      "integrity": "sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==",
       "dependencies": {
         "@types/webidl-conversions": "*"
       }
@@ -2145,17 +2124,6 @@
         "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/abort-controller": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/abort-controller/-/abort-controller-3.0.0.tgz",
-      "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
-      "dependencies": {
-        "event-target-shim": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=6.5"
-      }
-    },
     "node_modules/accepts": {
       "version": "1.3.8",
       "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz",
@@ -2169,9 +2137,9 @@
       }
     },
     "node_modules/acorn": {
-      "version": "8.11.3",
-      "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
-      "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+      "version": "8.12.0",
+      "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.12.0.tgz",
+      "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==",
       "bin": {
         "acorn": "bin/acorn"
       },
@@ -2244,6 +2212,17 @@
         "acorn": "^6.1.0 || ^7 || ^8"
       }
     },
+    "node_modules/agent-base": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-7.1.1.tgz",
+      "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
+      "dependencies": {
+        "debug": "^4.3.4"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
     "node_modules/ansi-escape-sequences": {
       "version": "5.1.2",
       "resolved": "https://registry.npmmirror.com/ansi-escape-sequences/-/ansi-escape-sequences-5.1.2.tgz",
@@ -2293,26 +2272,37 @@
       "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
     },
     "node_modules/askcharacter": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/askcharacter/-/askcharacter-1.0.0.tgz",
-      "integrity": "sha512-WsJcKyOh7iOWQSWcwPVE//yDUSXn3WvL+bgT9JYdEuiY/xeg1Vgwl5re72ZzufhXOwoiCrWWxW4CscRrxb3kZg==",
+      "version": "2.0.4",
+      "resolved": "https://registry.npmmirror.com/askcharacter/-/askcharacter-2.0.4.tgz",
+      "integrity": "sha512-SlLS4gA0/6BTcmUfuwySw5n3m8aOI3QlT3GTcQkmJwAVM/olola+S+g/FXggApIidQEKklLfGBZEmZ7Ru69CQw==",
       "dependencies": {
-        "hijack-stream": "^1.0.0"
+        "hijack-stream": "^2.0.0"
       }
     },
     "node_modules/askpassword": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmmirror.com/askpassword/-/askpassword-1.2.4.tgz",
-      "integrity": "sha512-HR27ScUv/j6vHSKU0AN+y3pGA3iqXzD09qqJl6JjVqSJRk7QiKPJt+W4tFhozMbiTsOh/QrIkeRi+Okd97VkRA==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmmirror.com/askpassword/-/askpassword-2.0.2.tgz",
+      "integrity": "sha512-9j9uyceJQ8rezozTs8pM0cc+b+kn0UbfohhoMii4o/4YRj1IntvCCtRBDYG7bcbL+8f2xJ53Y34WXTUnzgcUyg==",
       "dependencies": {
-        "handle-backspaces": "^1.0.0",
-        "hijack-stream": "^1.0.0"
+        "handle-backspaces": "^2.0.0",
+        "hijack-stream": "^2.0.0"
+      }
+    },
+    "node_modules/ast-types": {
+      "version": "0.13.4",
+      "resolved": "https://registry.npmmirror.com/ast-types/-/ast-types-0.13.4.tgz",
+      "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
+      "dependencies": {
+        "tslib": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=4"
       }
     },
     "node_modules/aws4": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmmirror.com/aws4/-/aws4-1.12.0.tgz",
-      "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg=="
+      "version": "1.13.0",
+      "resolved": "https://registry.npmmirror.com/aws4/-/aws4-1.13.0.tgz",
+      "integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g=="
     },
     "node_modules/balanced-match": {
       "version": "1.0.2",
@@ -2338,6 +2328,14 @@
         }
       ]
     },
+    "node_modules/basic-ftp": {
+      "version": "5.0.5",
+      "resolved": "https://registry.npmmirror.com/basic-ftp/-/basic-ftp-5.0.5.tgz",
+      "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==",
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
     "node_modules/big-integer": {
       "version": "1.6.52",
       "resolved": "https://registry.npmmirror.com/big-integer/-/big-integer-1.6.52.tgz",
@@ -2451,9 +2449,9 @@
       }
     },
     "node_modules/browserslist": {
-      "version": "4.23.0",
-      "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz",
-      "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+      "version": "4.23.1",
+      "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.1.tgz",
+      "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==",
       "funding": [
         {
           "type": "opencollective",
@@ -2469,10 +2467,10 @@
         }
       ],
       "dependencies": {
-        "caniuse-lite": "^1.0.30001587",
-        "electron-to-chromium": "^1.4.668",
+        "caniuse-lite": "^1.0.30001629",
+        "electron-to-chromium": "^1.4.796",
         "node-releases": "^2.0.14",
-        "update-browserslist-db": "^1.0.13"
+        "update-browserslist-db": "^1.0.16"
       },
       "bin": {
         "browserslist": "cli.js"
@@ -2482,9 +2480,9 @@
       }
     },
     "node_modules/bson": {
-      "version": "6.6.0",
-      "resolved": "https://registry.npmmirror.com/bson/-/bson-6.6.0.tgz",
-      "integrity": "sha512-BVINv2SgcMjL4oYbBuCQTpE3/VKOSxrOA8Cj/wQP7izSzlBGVomdm+TcUd0Pzy0ytLSSDweCKQ6X3f5veM5LQA==",
+      "version": "6.7.0",
+      "resolved": "https://registry.npmmirror.com/bson/-/bson-6.7.0.tgz",
+      "integrity": "sha512-w2IquM5mYzYZv6rs3uN2DZTOBe2a0zXLj53TGDqwF4l6Sz/XsISrisXOJihArF9+BZ6Cq/GjVht7Sjfmri7ytQ==",
       "engines": {
         "node": ">=16.20.1"
       }
@@ -2553,9 +2551,9 @@
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001612",
-      "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz",
-      "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==",
+      "version": "1.0.30001636",
+      "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz",
+      "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==",
       "funding": [
         {
           "type": "opencollective",
@@ -2689,9 +2687,9 @@
       }
     },
     "node_modules/debug": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
-      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "version": "4.3.5",
+      "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.5.tgz",
+      "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
       "dependencies": {
         "ms": "2.1.2"
       },
@@ -2787,6 +2785,19 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/degenerator": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmmirror.com/degenerator/-/degenerator-5.0.1.tgz",
+      "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
+      "dependencies": {
+        "ast-types": "^0.13.4",
+        "escodegen": "^2.1.0",
+        "esprima": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
     "node_modules/depd": {
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz",
@@ -2849,9 +2860,9 @@
       "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.4.748",
-      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.748.tgz",
-      "integrity": "sha512-VWqjOlPZn70UZ8FTKUOkUvBLeTQ0xpty66qV0yJcAGY2/CthI4xyW9aEozRVtuwv3Kpf5xTesmJUcPwuJmgP4A=="
+      "version": "1.4.805",
+      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.805.tgz",
+      "integrity": "sha512-8W4UJwX/w9T0QSzINJckTKG6CYpAUTqsaWcWIsdud3I1FYJcMgW9QqT1/4CBff/pP/TihWh13OmiyY8neto6vw=="
     },
     "node_modules/emoji-regex": {
       "version": "9.2.2",
@@ -2996,6 +3007,54 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/escodegen": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz",
+      "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
+      "dependencies": {
+        "esprima": "^4.0.1",
+        "estraverse": "^5.2.0",
+        "esutils": "^2.0.2"
+      },
+      "bin": {
+        "escodegen": "bin/escodegen.js",
+        "esgenerate": "bin/esgenerate.js"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "optionalDependencies": {
+        "source-map": "~0.6.1"
+      }
+    },
+    "node_modules/esprima": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz",
+      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+      "bin": {
+        "esparse": "bin/esparse.js",
+        "esvalidate": "bin/esvalidate.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/estraverse": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz",
+      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/esutils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz",
+      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/etag": {
       "version": "1.8.1",
       "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz",
@@ -3004,14 +3063,6 @@
         "node": ">= 0.6"
       }
     },
-    "node_modules/event-target-shim": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmmirror.com/event-target-shim/-/event-target-shim-5.0.1.tgz",
-      "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
-      "engines": {
-        "node": ">=6"
-      }
-    },
     "node_modules/execa": {
       "version": "7.2.0",
       "resolved": "https://registry.npmmirror.com/execa/-/execa-7.2.0.tgz",
@@ -3194,9 +3245,9 @@
       "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
     },
     "node_modules/foreground-child": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.1.1.tgz",
-      "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+      "version": "3.2.1",
+      "resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.2.1.tgz",
+      "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==",
       "dependencies": {
         "cross-spawn": "^7.0.0",
         "signal-exit": "^4.0.1"
@@ -3249,6 +3300,19 @@
       "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
       "optional": true
     },
+    "node_modules/fs-extra": {
+      "version": "11.2.0",
+      "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.2.0.tgz",
+      "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
+      "dependencies": {
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=14.14"
+      }
+    },
     "node_modules/fs-minipass": {
       "version": "2.1.0",
       "resolved": "https://registry.npmmirror.com/fs-minipass/-/fs-minipass-2.1.0.tgz",
@@ -3293,9 +3357,9 @@
       }
     },
     "node_modules/get-console-process-list": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmmirror.com/get-console-process-list/-/get-console-process-list-1.0.4.tgz",
-      "integrity": "sha512-vn5MA+CCTMgRuF9fxvJYLC2fMCuBPKQ7RwhA9H2TvMvy33oDivjIqA4mh2NJlUDoZXPcu/1moN3VfyukxxKwpA==",
+      "version": "1.0.5",
+      "resolved": "https://registry.npmmirror.com/get-console-process-list/-/get-console-process-list-1.0.5.tgz",
+      "integrity": "sha512-K73UHh6ht+MXnnuqQAE/5IjlevHV1ePiTy8yBLsZZPxmoY1KHtouW9E2K1bVLeQzHELztb38vFNak6J+2CNCuw==",
       "hasInstallScript": true,
       "optional": true,
       "os": [
@@ -3335,6 +3399,28 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/get-uri": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmmirror.com/get-uri/-/get-uri-6.0.3.tgz",
+      "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==",
+      "dependencies": {
+        "basic-ftp": "^5.0.2",
+        "data-uri-to-buffer": "^6.0.2",
+        "debug": "^4.3.4",
+        "fs-extra": "^11.2.0"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/get-uri/node_modules/data-uri-to-buffer": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmmirror.com/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz",
+      "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==",
+      "engines": {
+        "node": ">= 14"
+      }
+    },
     "node_modules/github-from-package": {
       "version": "0.0.0",
       "resolved": "https://registry.npmmirror.com/github-from-package/-/github-from-package-0.0.0.tgz",
@@ -3365,20 +3451,34 @@
       }
     },
     "node_modules/glob": {
-      "version": "10.3.12",
-      "resolved": "https://registry.npmmirror.com/glob/-/glob-10.3.12.tgz",
-      "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==",
+      "version": "10.4.1",
+      "resolved": "https://registry.npmmirror.com/glob/-/glob-10.4.1.tgz",
+      "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
       "dependencies": {
         "foreground-child": "^3.1.0",
-        "jackspeak": "^2.3.6",
-        "minimatch": "^9.0.1",
-        "minipass": "^7.0.4",
-        "path-scurry": "^1.10.2"
+        "jackspeak": "^3.1.2",
+        "minimatch": "^9.0.4",
+        "minipass": "^7.1.2",
+        "path-scurry": "^1.11.1"
       },
       "bin": {
         "glob": "dist/esm/bin.mjs"
       },
       "engines": {
+        "node": ">=16 || 14 >=14.18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/glob/node_modules/minimatch": {
+      "version": "9.0.4",
+      "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.4.tgz",
+      "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
         "node": ">=16 || 14 >=14.17"
       },
       "funding": {
@@ -3404,10 +3504,15 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/graceful-fs": {
+      "version": "4.2.11",
+      "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
+      "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
+    },
     "node_modules/handle-backspaces": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/handle-backspaces/-/handle-backspaces-1.0.0.tgz",
-      "integrity": "sha512-w11NXUn51gVN50nTW5MOuhKuko9xZonnHDe5LlapaOZvuyxDXVDn9b1ZtG0IJTABGbL/UGeSitqHgo9Bb7nDhQ=="
+      "version": "2.0.1",
+      "resolved": "https://registry.npmmirror.com/handle-backspaces/-/handle-backspaces-2.0.1.tgz",
+      "integrity": "sha512-l6yTgp6ihz8SjmzFOnYzuGqcqFMHGlTCiPMGmFRv0Yl4SnVq71l4miKYOAQ4cxUCjMfclzQYc0PvrmIHZETZYw=="
     },
     "node_modules/has-flag": {
       "version": "3.0.0",
@@ -3478,9 +3583,9 @@
       }
     },
     "node_modules/hijack-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/hijack-stream/-/hijack-stream-1.0.0.tgz",
-      "integrity": "sha512-9riBbIorIgSvsLQHL/rKEK6vJBexhgSRZC/tkieuei7a1U+CHgrXJVqW+RPswgEyuPbxcGCpx0QXO3iJuKRrrw=="
+      "version": "2.0.1",
+      "resolved": "https://registry.npmmirror.com/hijack-stream/-/hijack-stream-2.0.1.tgz",
+      "integrity": "sha512-RDOUBy7x+iz6ljj7qQOjXZv3RKFLGjXTYV0Kdl7K3R3YlxqoyFt7PLxfbw3yYriHzZSzXp7Y/oaw1f58YvL1ig=="
     },
     "node_modules/http-errors": {
       "version": "2.0.0",
@@ -3497,6 +3602,30 @@
         "node": ">= 0.8"
       }
     },
+    "node_modules/http-proxy-agent": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+      "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
+      "dependencies": {
+        "agent-base": "^7.1.0",
+        "debug": "^4.3.4"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/https-proxy-agent": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+      "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
+      "dependencies": {
+        "agent-base": "^7.0.2",
+        "debug": "4"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
     "node_modules/human-signals": {
       "version": "4.3.1",
       "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-4.3.1.tgz",
@@ -3664,9 +3793,9 @@
       "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
     },
     "node_modules/jackspeak": {
-      "version": "2.3.6",
-      "resolved": "https://registry.npmmirror.com/jackspeak/-/jackspeak-2.3.6.tgz",
-      "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
+      "version": "3.4.0",
+      "resolved": "https://registry.npmmirror.com/jackspeak/-/jackspeak-3.4.0.tgz",
+      "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==",
       "dependencies": {
         "@isaacs/cliui": "^8.0.2"
       },
@@ -3681,9 +3810,9 @@
       }
     },
     "node_modules/joi": {
-      "version": "17.13.0",
-      "resolved": "https://registry.npmmirror.com/joi/-/joi-17.13.0.tgz",
-      "integrity": "sha512-9qcrTyoBmFZRNHeVP4edKqIUEgFzq7MHvTNSDuHSqkpOPtiBkgNgcmTSqmiw1kw9tdKaiddvIDv/eCJDxmqWCA==",
+      "version": "17.13.1",
+      "resolved": "https://registry.npmmirror.com/joi/-/joi-17.13.1.tgz",
+      "integrity": "sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==",
       "dependencies": {
         "@hapi/hoek": "^9.3.0",
         "@hapi/topo": "^5.1.0",
@@ -3771,6 +3900,17 @@
         "node": ">=6"
       }
     },
+    "node_modules/jsonfile": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz",
+      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+      "dependencies": {
+        "universalify": "^2.0.0"
+      },
+      "optionalDependencies": {
+        "graceful-fs": "^4.1.6"
+      }
+    },
     "node_modules/kerberos": {
       "version": "2.1.0",
       "resolved": "https://registry.npmmirror.com/kerberos/-/kerberos-2.1.0.tgz",
@@ -3824,9 +3964,9 @@
       }
     },
     "node_modules/macos-export-certificate-and-key": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmmirror.com/macos-export-certificate-and-key/-/macos-export-certificate-and-key-1.1.1.tgz",
-      "integrity": "sha512-J2g0dJRLG3DghmdCkbJnif/zPmSylj6ql//xBYff5allzNlHPnWxRoyho9XznBYLbPJw4jZlKjMO69jtV8VC7Q==",
+      "version": "1.1.2",
+      "resolved": "https://registry.npmmirror.com/macos-export-certificate-and-key/-/macos-export-certificate-and-key-1.1.2.tgz",
+      "integrity": "sha512-kd4ba3kVKZXy46p4tg3X19dmwaXjtz0La5It6Rt6PbtwP+YcQ0F7ab8MjcSHOvz9NSXmAU15qQG53OlBDAPDzQ==",
       "hasInstallScript": true,
       "optional": true,
       "os": [
@@ -3945,9 +4085,9 @@
       }
     },
     "node_modules/minipass": {
-      "version": "7.0.4",
-      "resolved": "https://registry.npmmirror.com/minipass/-/minipass-7.0.4.tgz",
-      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+      "version": "7.1.2",
+      "resolved": "https://registry.npmmirror.com/minipass/-/minipass-7.1.2.tgz",
+      "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
       "engines": {
         "node": ">=16 || 14 >=14.17"
       }
@@ -3998,12 +4138,12 @@
       "optional": true
     },
     "node_modules/mongodb": {
-      "version": "6.5.0",
-      "resolved": "https://registry.npmmirror.com/mongodb/-/mongodb-6.5.0.tgz",
-      "integrity": "sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA==",
+      "version": "6.7.0",
+      "resolved": "https://registry.npmmirror.com/mongodb/-/mongodb-6.7.0.tgz",
+      "integrity": "sha512-TMKyHdtMcO0fYBNORiYdmM25ijsHs+Njs963r4Tro4OQZzqYigAzYQouwWRg4OIaiLRUEGUh/1UAcH5lxdSLIA==",
       "dependencies": {
         "@mongodb-js/saslprep": "^1.1.5",
-        "bson": "^6.4.0",
+        "bson": "^6.7.0",
         "mongodb-connection-string-url": "^3.0.0"
       },
       "engines": {
@@ -4043,41 +4183,67 @@
       }
     },
     "node_modules/mongodb-build-info": {
-      "version": "1.7.1",
-      "resolved": "https://registry.npmmirror.com/mongodb-build-info/-/mongodb-build-info-1.7.1.tgz",
-      "integrity": "sha512-he4lTotY5AkGSc4Js9Dtqvx4W7x5JSNa9xtvR08y1tUyhglHG1tV+NnuUTrysXA0hNHMMvOd/Hh4Ez9Po84p1g==",
+      "version": "1.7.2",
+      "resolved": "https://registry.npmmirror.com/mongodb-build-info/-/mongodb-build-info-1.7.2.tgz",
+      "integrity": "sha512-eoLFZvCIjcwijYJdxvYupj1c+55VAVm0o4gBJjrcDxxmmpm+bC4Ix9ayZbyhQdVXDZAGDi03NA0GghXjBVXnxg==",
       "dependencies": {
         "mongodb-connection-string-url": "^3.0.0"
       }
     },
     "node_modules/mongodb-client-encryption": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmmirror.com/mongodb-client-encryption/-/mongodb-client-encryption-6.0.0.tgz",
-      "integrity": "sha512-GtqkqlSq19acX006/U1odA3l+gwhvABeoTUlvvgtvSs6qcN3qSHPnur3Z5N4oKOv6fZ7EtT8rIsWP2riI0+Eyg==",
+      "version": "6.0.1",
+      "resolved": "https://registry.npmmirror.com/mongodb-client-encryption/-/mongodb-client-encryption-6.0.1.tgz",
+      "integrity": "sha512-u6pKu9plR7hQH6VtsfYonC9dwWAM3HFEpi+Xy3EJIdUyoH6dlFgaxX8TnKx/Ycfi2I1cxTXq2IbhSpg157vVgg==",
       "hasInstallScript": true,
       "optional": true,
       "dependencies": {
         "bindings": "^1.5.0",
         "node-addon-api": "^4.3.0",
-        "prebuild-install": "^7.1.1"
+        "prebuild-install": "^7.1.2"
       },
       "engines": {
         "node": ">=16.20.1"
       }
     },
+    "node_modules/mongodb-client-encryption/node_modules/prebuild-install": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmmirror.com/prebuild-install/-/prebuild-install-7.1.2.tgz",
+      "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==",
+      "optional": true,
+      "dependencies": {
+        "detect-libc": "^2.0.0",
+        "expand-template": "^2.0.3",
+        "github-from-package": "0.0.0",
+        "minimist": "^1.2.3",
+        "mkdirp-classic": "^0.5.3",
+        "napi-build-utils": "^1.0.1",
+        "node-abi": "^3.3.0",
+        "pump": "^3.0.0",
+        "rc": "^1.2.7",
+        "simple-get": "^4.0.0",
+        "tar-fs": "^2.0.0",
+        "tunnel-agent": "^0.6.0"
+      },
+      "bin": {
+        "prebuild-install": "bin.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/mongodb-connection-string-url": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz",
-      "integrity": "sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmmirror.com/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.1.tgz",
+      "integrity": "sha512-XqMGwRX0Lgn05TDB4PyG2h2kKO/FfWJyCzYQbIhXUxz7ETt0I/FqHjUeqj37irJ+Dl1ZtU82uYyj14u2XsZKfg==",
       "dependencies": {
         "@types/whatwg-url": "^11.0.2",
         "whatwg-url": "^13.0.0"
       }
     },
     "node_modules/mongodb-crypt-library-version": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmmirror.com/mongodb-crypt-library-version/-/mongodb-crypt-library-version-1.0.3.tgz",
-      "integrity": "sha512-w+T89kF9fC7npcf7m/+OUeXasf5TSL0GlugOCxzdXQFykV5MdU2yvcuuDZz4MD1pJickvGxBcw41jGg2s4lJ0g==",
+      "version": "1.0.5",
+      "resolved": "https://registry.npmmirror.com/mongodb-crypt-library-version/-/mongodb-crypt-library-version-1.0.5.tgz",
+      "integrity": "sha512-RLTxgBOpK1Ht1FvGpitI6EkFuYGk/CB6ImDJHzB9Iv/iKwVANu4OynaiJOoZQQTaZZCetmyAgMXwNHhMLCRyJw==",
       "hasInstallScript": true,
       "optional": true,
       "dependencies": {
@@ -4089,18 +4255,18 @@
       }
     },
     "node_modules/mongodb-log-writer": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/mongodb-log-writer/-/mongodb-log-writer-1.4.0.tgz",
-      "integrity": "sha512-hQrn8Xu58Z9uLmd2oncvu/b5KNxxKaW6MUrVRI/xObz/yzYNVWF3V4rgK9Ort72nOCmMD3PWOS+ZoZBtxgKibA==",
+      "version": "1.4.2",
+      "resolved": "https://registry.npmmirror.com/mongodb-log-writer/-/mongodb-log-writer-1.4.2.tgz",
+      "integrity": "sha512-ZQYBgW1IZtuRWsv9hF0mjpfDg6usMawkkWKnFb/goXosbW0YyxVA9OHt32TJfppGK/U2p7jQx4V9DxRFsFmmKw==",
       "dependencies": {
         "bson": "^4.5.1 || ^5.0.0 || ^6.0.0",
         "heap-js": "^2.3.0"
       }
     },
     "node_modules/mongodb-redact": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmmirror.com/mongodb-redact/-/mongodb-redact-0.2.2.tgz",
-      "integrity": "sha512-tmgDpSBymFtKggsLzpa0vDYaqh2wEXOswBZtJkXvbPKP0ThfPwoFYXtOukactU6WZsC4RYmpSPM4P6582FR/Xw==",
+      "version": "0.2.3",
+      "resolved": "https://registry.npmmirror.com/mongodb-redact/-/mongodb-redact-0.2.3.tgz",
+      "integrity": "sha512-a6ZPWlC9yf6F/n6ylKyyTO2PXZeD6nPKWwBmAIlOtOH4v82DIfsgO4Bpml10/YSwFxF1+VY8NHohmxofzpB4Yw==",
       "dependencies": {
         "lodash": "^4.17.15"
       }
@@ -4124,10 +4290,18 @@
         "node": ">= 0.6"
       }
     },
+    "node_modules/netmask": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmmirror.com/netmask/-/netmask-2.0.2.tgz",
+      "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
     "node_modules/node-abi": {
-      "version": "3.62.0",
-      "resolved": "https://registry.npmmirror.com/node-abi/-/node-abi-3.62.0.tgz",
-      "integrity": "sha512-CPMcGa+y33xuL1E0TcNIu4YyaZCxnnvkVaEXrsosR3FxN+fV8xvb7Mzpb7IgKler10qeMkE6+Dp8qJhpzdq35g==",
+      "version": "3.65.0",
+      "resolved": "https://registry.npmmirror.com/node-abi/-/node-abi-3.65.0.tgz",
+      "integrity": "sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==",
       "optional": true,
       "dependencies": {
         "semver": "^7.3.5"
@@ -4192,9 +4366,9 @@
       "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
     },
     "node_modules/nopt": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/nopt/-/nopt-7.2.0.tgz",
-      "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==",
+      "version": "7.2.1",
+      "resolved": "https://registry.npmmirror.com/nopt/-/nopt-7.2.1.tgz",
+      "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==",
       "dependencies": {
         "abbrev": "^2.0.0"
       },
@@ -4356,6 +4530,36 @@
         "node-addon-api": "^4.3.0"
       }
     },
+    "node_modules/pac-proxy-agent": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmmirror.com/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz",
+      "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==",
+      "dependencies": {
+        "@tootallnate/quickjs-emscripten": "^0.23.0",
+        "agent-base": "^7.0.2",
+        "debug": "^4.3.4",
+        "get-uri": "^6.0.1",
+        "http-proxy-agent": "^7.0.0",
+        "https-proxy-agent": "^7.0.2",
+        "pac-resolver": "^7.0.0",
+        "socks-proxy-agent": "^8.0.2"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/pac-resolver": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmmirror.com/pac-resolver/-/pac-resolver-7.0.1.tgz",
+      "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==",
+      "dependencies": {
+        "degenerator": "^5.0.0",
+        "netmask": "^2.0.2"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
     "node_modules/parseurl": {
       "version": "1.3.3",
       "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz",
@@ -4373,24 +4577,24 @@
       }
     },
     "node_modules/path-scurry": {
-      "version": "1.10.2",
-      "resolved": "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.10.2.tgz",
-      "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==",
+      "version": "1.11.1",
+      "resolved": "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.11.1.tgz",
+      "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
       "dependencies": {
         "lru-cache": "^10.2.0",
         "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
       },
       "engines": {
-        "node": ">=16 || 14 >=14.17"
+        "node": ">=16 || 14 >=14.18"
       },
       "funding": {
         "url": "https://github.com/sponsors/isaacs"
       }
     },
     "node_modules/path-scurry/node_modules/lru-cache": {
-      "version": "10.2.0",
-      "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.2.0.tgz",
-      "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==",
+      "version": "10.2.2",
+      "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.2.2.tgz",
+      "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==",
       "engines": {
         "node": "14 || >=16.14"
       }
@@ -4401,9 +4605,9 @@
       "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
     },
     "node_modules/picocolors": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
-      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+      "version": "1.0.1",
+      "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.1.tgz",
+      "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew=="
     },
     "node_modules/prebuild-install": {
       "version": "7.1.1",
@@ -4432,9 +4636,9 @@
       }
     },
     "node_modules/pretty-repl": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/pretty-repl/-/pretty-repl-4.0.0.tgz",
-      "integrity": "sha512-2WmwcEXvMDQ3UVb/emuYb0M7dVVU1NSm7L7lf9nwGxvzWovUbLaXWUve8VqOoAO34GQBQ2l+nYcXY0HGllNc5Q==",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmmirror.com/pretty-repl/-/pretty-repl-4.0.1.tgz",
+      "integrity": "sha512-Ve+ZNS5fwxylks3TTR4su7SaNAHVOh++7J5R8VKFAHIjmAMS8X79rnETc/JJoqay52cfgeHum7vm2+9hFSys9Q==",
       "dependencies": {
         "ansi-regex": "^5.0.1",
         "chalk": "^4.1.1",
@@ -4526,6 +4730,37 @@
         "node": ">= 0.10"
       }
     },
+    "node_modules/proxy-agent": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmmirror.com/proxy-agent/-/proxy-agent-6.4.0.tgz",
+      "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==",
+      "dependencies": {
+        "agent-base": "^7.0.2",
+        "debug": "^4.3.4",
+        "http-proxy-agent": "^7.0.1",
+        "https-proxy-agent": "^7.0.3",
+        "lru-cache": "^7.14.1",
+        "pac-proxy-agent": "^7.0.1",
+        "proxy-from-env": "^1.1.0",
+        "socks-proxy-agent": "^8.0.2"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/proxy-agent/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/proxy-from-env": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+    },
     "node_modules/pump": {
       "version": "3.0.0",
       "resolved": "https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz",
@@ -4610,9 +4845,9 @@
       }
     },
     "node_modules/resolve-mongodb-srv": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmmirror.com/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.3.tgz",
-      "integrity": "sha512-TrD4ebxN+1wfGhTl1uEKPSReCK13OscqpatIFKabCivrfQSDeVB4GYxpbm5F7yryyniuCxiEDxyyJO3a0UPQjw==",
+      "version": "1.1.5",
+      "resolved": "https://registry.npmmirror.com/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.5.tgz",
+      "integrity": "sha512-flu1XTSLDJHvTnWu2aJh2w9jgGPcNYJn2obMkuzXiyWSz0MLXu9IRCjvirJ4zRoCPHJJPt3uLQVNJTrzFRWd1w==",
       "optional": true,
       "dependencies": {
         "whatwg-url": "^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0"
@@ -4747,12 +4982,9 @@
       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
     },
     "node_modules/semver": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz",
-      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
+      "version": "7.6.2",
+      "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.2.tgz",
+      "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
       "bin": {
         "semver": "bin/semver.js"
       },
@@ -4760,22 +4992,6 @@
         "node": ">=10"
       }
     },
-    "node_modules/semver/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/semver/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
-    },
     "node_modules/send": {
       "version": "0.18.0",
       "resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz",
@@ -4966,6 +5182,28 @@
         "npm": ">= 3.0.0"
       }
     },
+    "node_modules/socks-proxy-agent": {
+      "version": "8.0.3",
+      "resolved": "https://registry.npmmirror.com/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz",
+      "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==",
+      "dependencies": {
+        "agent-base": "^7.1.1",
+        "debug": "^4.3.4",
+        "socks": "^2.7.1"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "optional": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/sparse-bitfield": {
       "version": "3.0.3",
       "resolved": "https://registry.npmmirror.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
@@ -5116,9 +5354,9 @@
       }
     },
     "node_modules/system-ca": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/system-ca/-/system-ca-1.0.2.tgz",
-      "integrity": "sha512-/6CCJOKB5Fpi0x7/DCbV7uiFPgwGCeJsAaSondXS2DjLBv7ER2worVGvQWJqPM0kgOKO6auaCcSWpJKnrDmXjw==",
+      "version": "1.0.3",
+      "resolved": "https://registry.npmmirror.com/system-ca/-/system-ca-1.0.3.tgz",
+      "integrity": "sha512-FHwdyDHM/J6SjHNVEp532J5rWsO0oPB/szZGsP/8I2s78mPLQhE0WwKTGi/RJulqTICekINsczg5q44n/1b+lQ==",
       "optionalDependencies": {
         "macos-export-certificate-and-key": "^1.1.1",
         "win-export-certificate-and-key": "^1.1.1"
@@ -5231,9 +5469,9 @@
       }
     },
     "node_modules/tslib": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz",
-      "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+      "version": "2.6.3",
+      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.3.tgz",
+      "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
     },
     "node_modules/tunnel-agent": {
       "version": "0.6.0",
@@ -5259,6 +5497,14 @@
         "node": ">= 0.6"
       }
     },
+    "node_modules/universalify": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz",
+      "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+      "engines": {
+        "node": ">= 10.0.0"
+      }
+    },
     "node_modules/unpipe": {
       "version": "1.0.0",
       "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz",
@@ -5276,9 +5522,9 @@
       }
     },
     "node_modules/update-browserslist-db": {
-      "version": "1.0.13",
-      "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
-      "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+      "version": "1.0.16",
+      "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
+      "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==",
       "funding": [
         {
           "type": "opencollective",
@@ -5294,8 +5540,8 @@
         }
       ],
       "dependencies": {
-        "escalade": "^3.1.1",
-        "picocolors": "^1.0.0"
+        "escalade": "^3.1.2",
+        "picocolors": "^1.0.1"
       },
       "bin": {
         "update-browserslist-db": "cli.js"
@@ -5381,9 +5627,9 @@
       }
     },
     "node_modules/win-export-certificate-and-key": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmmirror.com/win-export-certificate-and-key/-/win-export-certificate-and-key-1.1.1.tgz",
-      "integrity": "sha512-wvF1DKlbt/PLOSdnKzIqv0Ipj+87n2VYOJFbkqBoN7l3l244reT7Lf6+Dnu86bYVWoVpq3ZZG417OLNHFnkP6A==",
+      "version": "1.1.2",
+      "resolved": "https://registry.npmmirror.com/win-export-certificate-and-key/-/win-export-certificate-and-key-1.1.2.tgz",
+      "integrity": "sha512-3Su7Xdt9UR8pZicWQDcGSWNL6We/NzAGxe7AeQ1Z/zAeGHWlTKAh3HemGvIvxLRPsk4NW9D/QL3cL6SIvFcTvQ==",
       "hasInstallScript": true,
       "optional": true,
       "os": [
@@ -5391,10 +5637,16 @@
       ],
       "dependencies": {
         "bindings": "^1.5.0",
-        "node-addon-api": "^4.3.0",
+        "node-addon-api": "^3.1.0",
         "node-forge": "^1.2.1"
       }
     },
+    "node_modules/win-export-certificate-and-key/node_modules/node-addon-api": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-3.2.1.tgz",
+      "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
+      "optional": true
+    },
     "node_modules/wrap-ansi": {
       "version": "8.1.0",
       "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
diff --git a/pkgs/development/tools/mongosh/source.json b/pkgs/development/tools/mongosh/source.json
index c8989a8a2b1d9..cdebe929bf966 100644
--- a/pkgs/development/tools/mongosh/source.json
+++ b/pkgs/development/tools/mongosh/source.json
@@ -1,6 +1,6 @@
 {
-  "version": "2.2.5",
-  "integrity": "sha512-kQ9X6xgWgE91whL8JMpLzucSiCFO+eCAH5BRiKJfvZOSUkG3VGc+JvRiffbtqq2KAA5nex4u0xEAl/SwlroPkg==",
-  "filename": "mongosh-2.2.5.tgz",
-  "deps": "sha256-PD3H45WEDP/DoCHCQuDNh/5Znca6f3TAOJL4wtQOnXI="
+  "version": "2.2.9",
+  "integrity": "sha512-7zROoz9tFqBW3t4aI6pO9S6GmGuDWb9m8hT0w91uL6CXTHUcYH7XM4INR2jr3+qXFYLkaXZ1WQoLgmuoJoSj7g==",
+  "filename": "mongosh-2.2.9.tgz",
+  "deps": "sha256-wefY8JDdtabrtlJfsT4iZsCwYIbIxv8T+U2S29Hl2O4="
 }
diff --git a/pkgs/development/tools/mpfshell/default.nix b/pkgs/development/tools/mpfshell/default.nix
index 331e80140bb81..63223a54eb8e4 100644
--- a/pkgs/development/tools/mpfshell/default.nix
+++ b/pkgs/development/tools/mpfshell/default.nix
@@ -20,7 +20,7 @@ python3Packages.buildPythonPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/wendlers/mpfshell";
-    description = "A simple shell based file explorer for ESP8266 Micropython based devices";
+    description = "Simple shell based file explorer for ESP8266 Micropython based devices";
     mainProgram = "mpfshell";
     license = licenses.mit;
   };
diff --git a/pkgs/development/tools/mustache-go/default.nix b/pkgs/development/tools/mustache-go/default.nix
index be5218cb1d336..c6d8966d50142 100644
--- a/pkgs/development/tools/mustache-go/default.nix
+++ b/pkgs/development/tools/mustache-go/default.nix
@@ -18,7 +18,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/cbroglie/mustache";
-    description = "The mustache template language in Go";
+    description = "Mustache template language in Go";
     license = [ licenses.mit ];
     maintainers = with maintainers; [ Zimmi48 ];
     mainProgram = "mustache";
diff --git a/pkgs/development/tools/mysql-shell/default.nix b/pkgs/development/tools/mysql-shell/default.nix
index fe8ad46fe2f21..d2de80d432c42 100644
--- a/pkgs/development/tools/mysql-shell/default.nix
+++ b/pkgs/development/tools/mysql-shell/default.nix
@@ -37,16 +37,16 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "mysql-shell";
-  version = "8.0.36";
+  version = "8.0.37";
 
   srcs = [
     (fetchurl {
-      url = "https://cdn.mysql.com//Downloads/MySQL-${lib.versions.majorMinor finalAttrs.version}/mysql-${finalAttrs.version}.tar.gz";
-      hash = "sha256-9PJwa5WKinOA72yVjdlyMHvb7qRR76/DQuTEbim36d0=";
+      url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor finalAttrs.version}/mysql-${finalAttrs.version}.tar.gz";
+      hash = "sha256-4GOgkazZ7EC7BfLATfZPiZan5OJuiDu2UChJ1fa0pho=";
     })
     (fetchurl {
-      url = "https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-${finalAttrs.version}-src.tar.gz";
-      hash = "sha256-s0+7dbcLcgS8u/6p7vpVAV9sR2gf2j9VDnSCJvw77fQ=";
+      url = "https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell-${finalAttrs.version}-src.tar.gz";
+      hash = "sha256-UtZ7/Ip5h9CXKy3lkSt8/TXJgbPPUO73rMSIFPfX0Is=";
     })
   ];
 
@@ -118,7 +118,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     homepage = "https://dev.mysql.com/doc/mysql-shell/${lib.versions.majorMinor finalAttrs.version}/en/";
-    description = "A new command line scriptable shell for MySQL";
+    description = "New command line scriptable shell for MySQL";
     license = licenses.gpl2;
     maintainers = with maintainers; [ aaronjheng ];
     mainProgram = "mysqlsh";
diff --git a/pkgs/development/tools/mysql-shell/innovation.nix b/pkgs/development/tools/mysql-shell/innovation.nix
index 0755b2271c037..efd74f3fc717d 100644
--- a/pkgs/development/tools/mysql-shell/innovation.nix
+++ b/pkgs/development/tools/mysql-shell/innovation.nix
@@ -34,8 +34,8 @@
 let
   pythonDeps = with python3.pkgs; [ certifi paramiko pyyaml ];
 
-  mysqlShellVersion = "8.3.0";
-  mysqlServerVersion = "8.3.0";
+  mysqlShellVersion = "8.4.0";
+  mysqlServerVersion = "8.4.0";
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "mysql-shell-innovation";
@@ -43,12 +43,12 @@ stdenv.mkDerivation (finalAttrs: {
 
   srcs = [
     (fetchurl {
-      url = "https://cdn.mysql.com//Downloads/MySQL-${lib.versions.majorMinor mysqlServerVersion}/mysql-${mysqlServerVersion}.tar.gz";
-      hash = "sha256-HyFJWgt6grJKRT1S4hU6gUs8pwTsz5mXZtVFvOUvOG4=";
+      url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor mysqlServerVersion}/mysql-${mysqlServerVersion}.tar.gz";
+      hash = "sha256-R6VDP83WOduDa5nhtUWcK4E8va0j/ytd1K0n95K6kY4=";
     })
     (fetchurl {
-      url = "https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-${finalAttrs.version}-src.tar.gz";
-      hash = "sha256-O0j/gvS9fR/xp9plytjj249H7LY/+eyst1IsFpy318U=";
+      url = "https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell-${finalAttrs.version}-src.tar.gz";
+      hash = "sha256-QT30FNogn7JR/dQ3V86QaAZaMREMKvTocRTUaNLGVlg=";
     })
   ];
 
@@ -59,10 +59,10 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   postPatch = ''
-    substituteInPlace ../mysql/cmake/libutils.cmake --replace /usr/bin/libtool libtool
-    substituteInPlace ../mysql/cmake/os/Darwin.cmake --replace /usr/bin/libtool libtool
+    substituteInPlace ../mysql/cmake/libutils.cmake --replace-quiet /usr/bin/libtool libtool
+    substituteInPlace ../mysql/cmake/os/Darwin.cmake --replace-quiet /usr/bin/libtool libtool
 
-    substituteInPlace cmake/libutils.cmake --replace /usr/bin/libtool libtool
+    substituteInPlace cmake/libutils.cmake --replace-quiet /usr/bin/libtool libtool
   '';
 
   nativeBuildInputs = [ pkg-config cmake git bison makeWrapper ]
@@ -100,18 +100,18 @@ stdenv.mkDerivation (finalAttrs: {
       -DFORCE_UNSUPPORTED_COMPILER=1 -S ../mysql -B ../mysql/build
 
     cmake --build ../mysql/build --parallel ''${NIX_BUILD_CORES:-1} --target mysqlclient mysqlxclient
-  '';
 
-  cmakeFlags = [
-    "-DMYSQL_SOURCE_DIR=../mysql"
-    "-DMYSQL_BUILD_DIR=../mysql/build"
-    "-DMYSQL_CONFIG_EXECUTABLE=../../mysql/build/scripts/mysql_config"
-    "-DWITH_ZSTD=system"
-    "-DWITH_LZ4=system"
-    "-DWITH_ZLIB=system"
-    "-DWITH_PROTOBUF=${protobuf}"
-    "-DHAVE_PYTHON=1"
-  ];
+    cmakeFlagsArray+=(
+      "-DMYSQL_SOURCE_DIR=''${NIX_BUILD_TOP}/mysql"
+      "-DMYSQL_BUILD_DIR=''${NIX_BUILD_TOP}/mysql/build"
+      "-DMYSQL_CONFIG_EXECUTABLE=''${NIX_BUILD_TOP}/mysql/build/scripts/mysql_config"
+      "-DWITH_ZSTD=system"
+      "-DWITH_LZ4=system"
+      "-DWITH_ZLIB=system"
+      "-DWITH_PROTOBUF=system"
+      "-DHAVE_PYTHON=1"
+    )
+  '';
 
   postFixup = ''
     wrapProgram $out/bin/mysqlsh --set PYTHONPATH "${lib.makeSearchPath python3.sitePackages pythonDeps}"
@@ -119,7 +119,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     homepage = "https://dev.mysql.com/doc/mysql-shell/${lib.versions.majorMinor finalAttrs.version}/en/";
-    description = "A new command line scriptable shell for MySQL";
+    description = "New command line scriptable shell for MySQL";
     license = licenses.gpl2;
     maintainers = with maintainers; [ aaronjheng ];
     mainProgram = "mysqlsh";
diff --git a/pkgs/development/tools/nagelfar/default.nix b/pkgs/development/tools/nagelfar/default.nix
index e770d162dc47b..a40861e0988d4 100644
--- a/pkgs/development/tools/nagelfar/default.nix
+++ b/pkgs/development/tools/nagelfar/default.nix
@@ -21,7 +21,7 @@ tcl.mkTclDerivation {
 
   meta = with lib; {
     homepage = "https://nagelfar.sourceforge.net/";
-    description = "A static syntax checker (linter) for Tcl";
+    description = "Static syntax checker (linter) for Tcl";
     longDescription = ''
       Provides static syntax checking, code coverage instrumentation,
       and is very extendable through its syntax database and plugins.
diff --git a/pkgs/development/tools/neil/default.nix b/pkgs/development/tools/neil/default.nix
index 0b65baa769dae..8331ecde3e615 100644
--- a/pkgs/development/tools/neil/default.nix
+++ b/pkgs/development/tools/neil/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/babashka/neil";
-    description = "A CLI to add common aliases and features to deps.edn-based projects";
+    description = "CLI to add common aliases and features to deps.edn-based projects";
     mainProgram = "neil";
     license = licenses.mit;
     platforms = babashka.meta.platforms;
diff --git a/pkgs/development/tools/nodehun/default.nix b/pkgs/development/tools/nodehun/default.nix
index cef41d9187912..5a49c90ad2e20 100644
--- a/pkgs/development/tools/nodehun/default.nix
+++ b/pkgs/development/tools/nodehun/default.nix
@@ -56,7 +56,7 @@ buildNpmPackage {
   disallowedReferences = [ nodejs ];
 
   meta = with lib; {
-    description = "The Hunspell binding for NodeJS that exposes as much of Hunspell as possible and also adds new features";
+    description = "Hunspell binding for NodeJS that exposes as much of Hunspell as possible and also adds new features";
     homepage = "https://github.com/Wulf/nodehun";
     license = licenses.mit;
     maintainers = [ maintainers.thomasjm ];
diff --git a/pkgs/development/tools/nodenv/default.nix b/pkgs/development/tools/nodenv/default.nix
index cdda869aa16a7..3eb045c5e9a92 100644
--- a/pkgs/development/tools/nodenv/default.nix
+++ b/pkgs/development/tools/nodenv/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nodenv";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "nodenv";
     repo = "nodenv";
     rev = "v${version}";
-    sha256 = "sha256-S7Uld7wiVJjwuvfupBodIAIOO2c/ywEmFfhEHVOCcCc=";
+    sha256 = "sha256-PGeZKL7qsffMAZIsCLB244Fuu48GyWw5Rh67ePu6h38=";
   };
 
   buildPhase = ''
diff --git a/pkgs/development/tools/nsis/default.nix b/pkgs/development/tools/nsis/default.nix
index e27c43135bad7..32e69dcf7042a 100644
--- a/pkgs/development/tools/nsis/default.nix
+++ b/pkgs/development/tools/nsis/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
   installTargets = [ "install-compiler" ];
 
   meta = with lib; {
-    description = "A free scriptable win32 installer/uninstaller system that doesn't suck and isn't huge";
+    description = "Free scriptable win32 installer/uninstaller system that doesn't suck and isn't huge";
     homepage = "https://nsis.sourceforge.io/";
     license = licenses.zlib;
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/nufmt/default.nix b/pkgs/development/tools/nufmt/default.nix
index e753c134d1abc..d9f2732aedd7d 100644
--- a/pkgs/development/tools/nufmt/default.nix
+++ b/pkgs/development/tools/nufmt/default.nix
@@ -1,8 +1,10 @@
 
 {
   lib,
+  stdenv,
   fetchFromGitHub,
   rustPlatform,
+  darwin,
   ...
 }:
 rustPlatform.buildRustPackage rec {
@@ -16,10 +18,14 @@ rustPlatform.buildRustPackage rec {
     hash = "sha256-BwKLl8eMCrqVt9PA5SHAXxu3ypP2ePcSuljKL+wSkvw=";
   };
 
+  buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    IOKit
+  ]);
+
   cargoSha256 = "sha256-16Z20opeZpoa7h258um+grL3ktPmY4P0M/tqMTr5hYc=";
 
   meta = with lib; {
-    description = "The nushell formatter";
+    description = "Nushell formatter";
     homepage = "https://github.com/nushell/nufmt";
     license = licenses.mit;
     maintainers = with maintainers; [iogamaster];
diff --git a/pkgs/development/tools/nwjs/default.nix b/pkgs/development/tools/nwjs/default.nix
index fd03766560ff8..769c39769e3f2 100644
--- a/pkgs/development/tools/nwjs/default.nix
+++ b/pkgs/development/tools/nwjs/default.nix
@@ -17,6 +17,7 @@
 , lib
 , libcap
 , libdrm
+, libGL
 , libnotify
 , libuuid
 , libxcb
@@ -55,6 +56,7 @@ let
       gtk3
       libcap
       libdrm
+      libGL
       libnotify
       libxkbcommon
       mesa
@@ -85,7 +87,7 @@ let
     extraOutputsToInstall = [ "lib" "out" ];
   };
 
-  version = "0.85.0";
+  version = "0.88.0";
 in
 stdenv.mkDerivation {
   pname = "nwjs";
@@ -96,10 +98,10 @@ stdenv.mkDerivation {
     in fetchurl {
       url = "https://dl.nwjs.io/v${version}/nwjs-${flavor}v${version}-linux-${bits}.tar.gz";
       hash = {
-        "sdk-ia32" = "sha256-QcFKX+TLRBYAMt5oUYoVMfBgGFZZ/4pdhhtNI0OxF/M=";
-        "sdk-x64" = "sha256-Wqq0iI5VLa/hJLTNF10YpFTtLRP6okjCC2EzlXxeuWI=";
-        "ia32" = "sha256-st/J/Zejo3R0dKxxdM7XBvmAlfsO2+2i5lYlAv9A5lY=";
-        "x64" = "sha256-hxSyzNEH6UJVejUqoG01vpJxb319wrLgp7uyF6Pt5YQ=";
+        "sdk-ia32" = "sha256-pk8Fdzw8zBBF4xeU5BlmkF1gbf7HIn8jheSjbdV4hI0=";
+        "sdk-x64" = "sha256-51alZRf/+bpKfVLUQuy1VtLHCgkVuptQaJgupt7zxcU=";
+        "ia32" = "sha256-OLkOJo3xDZ6WKbf6zPeY+KcgzoEjYWMIV7YWWbESjPo=";
+        "x64" = "sha256-KSsaTs0W8m2dI+0ByLqU4H4ai/PXUt6LtroZIBeymgs=";
       }."${flavor + bits}";
     };
 
@@ -136,7 +138,7 @@ stdenv.mkDerivation {
     '';
 
   meta = with lib; {
-    description = "An app runtime based on Chromium and node.js";
+    description = "App runtime based on Chromium and node.js";
     homepage = "https://nwjs.io/";
     platforms = [ "i686-linux" "x86_64-linux" ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
diff --git a/pkgs/development/tools/ocaml/camlidl/default.nix b/pkgs/development/tools/ocaml/camlidl/default.nix
index 5522406c7e74e..82bfff61e9de5 100644
--- a/pkgs/development/tools/ocaml/camlidl/default.nix
+++ b/pkgs/development/tools/ocaml/camlidl/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A stub code generator and COM binding for Objective Caml";
+    description = "Stub code generator and COM binding for Objective Caml";
     mainProgram = "camlidl";
     homepage = "https://xavierleroy.org/camlidl/";
     license = lib.licenses.lgpl21;
diff --git a/pkgs/development/tools/ocaml/camlp4/default.nix b/pkgs/development/tools/ocaml/camlp4/default.nix
index dd25dd864cee5..74e7660731133 100644
--- a/pkgs/development/tools/ocaml/camlp4/default.nix
+++ b/pkgs/development/tools/ocaml/camlp4/default.nix
@@ -90,7 +90,7 @@ stdenv.mkDerivation rec {
   dontStrip = true;
 
   meta = with lib; {
-    description = "A software system for writing extensible parsers for programming languages";
+    description = "Software system for writing extensible parsers for programming languages";
     homepage = "https://github.com/ocaml/camlp4";
     platforms = ocaml.meta.platforms or [];
   };
diff --git a/pkgs/development/tools/ocaml/cppo/default.nix b/pkgs/development/tools/ocaml/cppo/default.nix
index f5b002c59e642..1e86f9e6d89cc 100644
--- a/pkgs/development/tools/ocaml/cppo/default.nix
+++ b/pkgs/development/tools/ocaml/cppo/default.nix
@@ -6,7 +6,7 @@ let
   pname = "cppo";
 
   meta = with lib; {
-    description = "The C preprocessor for OCaml";
+    description = "C preprocessor for OCaml";
     mainProgram = "cppo";
     longDescription = ''
       Cppo is an equivalent of the C preprocessor targeted at the OCaml language and its variants.
diff --git a/pkgs/development/tools/ocaml/dune/1.nix b/pkgs/development/tools/ocaml/dune/1.nix
index c9f1c6f7eb251..1a812b02d9b2d 100644
--- a/pkgs/development/tools/ocaml/dune/1.nix
+++ b/pkgs/development/tools/ocaml/dune/1.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://dune.build/";
-    description = "A composable build system";
+    description = "Composable build system";
     maintainers = [ maintainers.vbgl ];
     license = licenses.mit;
     inherit (ocaml.meta) platforms;
diff --git a/pkgs/development/tools/ocaml/dune/2.nix b/pkgs/development/tools/ocaml/dune/2.nix
index ffed78c7a882b..2847dc2a9651c 100644
--- a/pkgs/development/tools/ocaml/dune/2.nix
+++ b/pkgs/development/tools/ocaml/dune/2.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://dune.build/";
-    description = "A composable build system";
+    description = "Composable build system";
     mainProgram = "dune";
     changelog = "https://github.com/ocaml/dune/raw/${version}/CHANGES.md";
     maintainers = [ lib.maintainers.vbgl ];
diff --git a/pkgs/development/tools/ocaml/dune/3.nix b/pkgs/development/tools/ocaml/dune/3.nix
index a91582959901e..f2c00e16c9e73 100644
--- a/pkgs/development/tools/ocaml/dune/3.nix
+++ b/pkgs/development/tools/ocaml/dune/3.nix
@@ -6,11 +6,11 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "3.15.2";
+  version = "3.16.0";
 
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
-    hash = "sha256-+VmYBULKhZCbPz+Om+ZcK4o3XzpOO9g8etegfy4HeTM=";
+    hash = "sha256-VIHd55GMoxIeAsNNdDOfc0sy1Yg++4wbgFZHHnT5vaY=";
   };
 
   nativeBuildInputs = [ ocaml findlib ];
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://dune.build/";
-    description = "A composable build system";
+    description = "Composable build system";
     mainProgram = "dune";
     changelog = "https://github.com/ocaml/dune/raw/${version}/CHANGES.md";
     maintainers = [ lib.maintainers.vbgl ];
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
index 5e82fafd129cd..54067eb63d217 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
@@ -5,12 +5,12 @@
 
 buildDunePackage rec {
   pname = "js_of_ocaml-compiler";
-  version = "5.7.1";
+  version = "5.8.2";
   minimalOCamlVersion = "4.08";
 
   src = fetchurl {
     url = "https://github.com/ocsigen/js_of_ocaml/releases/download/${version}/js_of_ocaml-${version}.tbz";
-    hash = "sha256-DqSOKqiQTsVi8iX6CT/2dLVODnUU2uhie4/Y93IQOD0=";
+    hash = "sha256-ciAZS9L5sU2VgVOlogZ1A1nXtJ3hL+iNdFDThc7L8Eo=";
   };
 
   nativeBuildInputs = [ menhir ];
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix b/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix
index 861dc22c80380..8d81009980743 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix
@@ -16,7 +16,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ ocamlbuild ];
 
   meta = {
-    description = "An ocamlbuild plugin to compile to JavaScript";
+    description = "Ocamlbuild plugin to compile to JavaScript";
     homepage = "https://github.com/ocsigen/js_of_ocaml-ocamlbuild";
     license = lib.licenses.lgpl2Only;
     maintainers = [ lib.maintainers.vbgl ];
diff --git a/pkgs/development/tools/ocaml/merlin/4.x.nix b/pkgs/development/tools/ocaml/merlin/4.x.nix
index 2a3eb8e52eec1..fb9b46c00ce56 100644
--- a/pkgs/development/tools/ocaml/merlin/4.x.nix
+++ b/pkgs/development/tools/ocaml/merlin/4.x.nix
@@ -87,7 +87,7 @@ buildDunePackage {
   '';
 
   meta = with lib; {
-    description = "An editor-independent tool to ease the development of programs in OCaml";
+    description = "Editor-independent tool to ease the development of programs in OCaml";
     homepage = "https://github.com/ocaml/merlin";
     license = licenses.mit;
     maintainers = [ maintainers.vbgl maintainers.sternenseemann ];
diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
index cff881d1c97e5..a80252c3dfbce 100644
--- a/pkgs/development/tools/ocaml/merlin/default.nix
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -25,7 +25,7 @@ buildDunePackage rec {
   buildInputs = [ dot-merlin-reader yojson csexp result menhirSdk ];
 
   meta = with lib; {
-    description = "An editor-independent tool to ease the development of programs in OCaml";
+    description = "Editor-independent tool to ease the development of programs in OCaml";
     homepage = "https://github.com/ocaml/merlin";
     license = licenses.mit;
     maintainers = [ maintainers.vbgl ];
diff --git a/pkgs/development/tools/ocaml/merlin/dot-merlin-reader.nix b/pkgs/development/tools/ocaml/merlin/dot-merlin-reader.nix
index 2d572364005a7..ef30a51a7e6a6 100644
--- a/pkgs/development/tools/ocaml/merlin/dot-merlin-reader.nix
+++ b/pkgs/development/tools/ocaml/merlin/dot-merlin-reader.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, yojson, csexp, findlib, buildDunePackage, merlin-lib, merlin, result }:
+{ lib, yojson, csexp, findlib, buildDunePackage, merlin-lib, merlin, result }:
 
 buildDunePackage rec {
   pname = "dot-merlin-reader";
diff --git a/pkgs/development/tools/ocaml/obelisk/default.nix b/pkgs/development/tools/ocaml/obelisk/default.nix
index 2775f72d79d1f..6bf1ff212c263 100644
--- a/pkgs/development/tools/ocaml/obelisk/default.nix
+++ b/pkgs/development/tools/ocaml/obelisk/default.nix
@@ -17,7 +17,7 @@ ocamlPackages.buildDunePackage rec {
   buildInputs = with ocamlPackages; [ re ];
 
   meta = {
-    description = "A simple tool which produces pretty-printed output from a Menhir parser file (.mly)";
+    description = "Simple tool which produces pretty-printed output from a Menhir parser file (.mly)";
     mainProgram = "obelisk";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.vbgl ];
diff --git a/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix b/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix
index 11564d4e985ca..70786bcd026f2 100644
--- a/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix
+++ b/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix
@@ -34,7 +34,7 @@ buildDunePackage rec {
   passthru.updateScript = gitUpdater { };
 
   meta = with lib; {
-    description = "A simple fork of OCaml parser with support for error recovery";
+    description = "Simple fork of OCaml parser with support for error recovery";
     homepage = "https://github.com/serokell/ocaml-recovery-parser";
     license = with licenses; [ lgpl2Only mit mpl20 ];
     maintainers = with maintainers; [ romildo ];
diff --git a/pkgs/development/tools/ocaml/ocaml-top/default.nix b/pkgs/development/tools/ocaml/ocaml-top/default.nix
index f96ad2248ee21..538731a15dc8f 100644
--- a/pkgs/development/tools/ocaml/ocaml-top/default.nix
+++ b/pkgs/development/tools/ocaml/ocaml-top/default.nix
@@ -20,7 +20,7 @@ buildDunePackage rec {
   meta = {
     homepage = "https://www.typerex.org/ocaml-top.html";
     license = lib.licenses.gpl3;
-    description = "A simple cross-platform OCaml code editor built for top-level evaluation";
+    description = "Simple cross-platform OCaml code editor built for top-level evaluation";
     mainProgram = "ocaml-top";
     maintainers = with lib.maintainers; [ vbgl ];
   };
diff --git a/pkgs/development/tools/ocaml/ocamlbuild/default.nix b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
index 7ce9a59866bea..98a48c27742ca 100644
--- a/pkgs/development/tools/ocaml/ocamlbuild/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A build system with builtin rules to easily build most OCaml projects";
+    description = "Build system with builtin rules to easily build most OCaml projects";
     homepage = "https://github.com/ocaml/ocamlbuild/";
     license = licenses.lgpl2;
     maintainers = with maintainers; [ vbgl ];
diff --git a/pkgs/development/tools/ocaml/ocp-build/default.nix b/pkgs/development/tools/ocaml/ocp-build/default.nix
index 33f9a123b744b..b3426a721ff4f 100644
--- a/pkgs/development/tools/ocaml/ocp-build/default.nix
+++ b/pkgs/development/tools/ocaml/ocp-build/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   preInstall = "mkdir -p $out/bin";
 
   meta = with lib; {
-    description = "A build tool for OCaml";
+    description = "Build tool for OCaml";
     longDescription = ''
       ocp-build is a build system for OCaml application, based on simple
       descriptions of packages. ocp-build combines the descriptions of
diff --git a/pkgs/development/tools/ocaml/ocp-indent/default.nix b/pkgs/development/tools/ocaml/ocp-indent/default.nix
index 6fd31d54d999f..2599b560550b3 100644
--- a/pkgs/development/tools/ocaml/ocp-indent/default.nix
+++ b/pkgs/development/tools/ocaml/ocp-indent/default.nix
@@ -20,7 +20,7 @@ buildDunePackage rec {
 
   meta = with lib; {
     homepage = "https://www.typerex.org/ocp-indent.html";
-    description = "A customizable tool to indent OCaml code";
+    description = "Customizable tool to indent OCaml code";
     mainProgram = "ocp-indent";
     license = licenses.gpl3;
     maintainers = [ maintainers.jirkamarsik ];
diff --git a/pkgs/development/tools/ocaml/ocp-index/default.nix b/pkgs/development/tools/ocaml/ocp-index/default.nix
index 98e8b06e795b0..84e4dfb2be903 100644
--- a/pkgs/development/tools/ocaml/ocp-index/default.nix
+++ b/pkgs/development/tools/ocaml/ocp-index/default.nix
@@ -2,7 +2,7 @@
 
 buildDunePackage rec {
   pname = "ocp-index";
-  version = "1.3.5";
+  version = "1.3.6";
 
   minimalOCamlVersion = "4.08";
 
@@ -10,7 +10,7 @@ buildDunePackage rec {
     owner = "OCamlPro";
     repo = "ocp-index";
     rev = version;
-    hash = "sha256-Zn3BPaMB68V363OljFFdmLyYf+S0wFJK44L8t1TSG1Q=";
+    hash = "sha256-EgRpC58NBVFO1w0xx11CnonatU2H7bECsEk6Y4c/odY=";
   };
 
   nativeBuildInputs = [ cppo ];
@@ -20,7 +20,7 @@ buildDunePackage rec {
 
   meta = {
     homepage = "https://www.typerex.org/ocp-index.html";
-    description = "A simple and light-weight documentation extractor for OCaml";
+    description = "Simple and light-weight documentation extractor for OCaml";
     changelog = "https://github.com/OCamlPro/ocp-index/raw/${version}/CHANGES.md";
     license = lib.licenses.lgpl3;
     maintainers = with lib.maintainers; [ vbgl ];
diff --git a/pkgs/development/tools/ocaml/ocsigen-i18n/default.nix b/pkgs/development/tools/ocaml/ocsigen-i18n/default.nix
index fcb43938112d1..bad8dc09a1c1c 100644
--- a/pkgs/development/tools/ocaml/ocsigen-i18n/default.nix
+++ b/pkgs/development/tools/ocaml/ocsigen-i18n/default.nix
@@ -1,26 +1,16 @@
-{ lib, stdenv, fetchFromGitHub, ocamlPackages }:
+{ lib, fetchFromGitHub, ocamlPackages }:
 
-stdenv.mkDerivation rec {
+ocamlPackages.buildDunePackage rec {
   pname = "ocsigen-i18n";
-  version = "3.7.0";
+  version = "4.0.0";
 
-  strictDeps = true;
-
-  nativeBuildInputs = with ocamlPackages; [ ocaml findlib ];
-  buildInputs = with ocamlPackages; [ ppx_tools ];
-
-  dontStrip = true;
-
-  installPhase = ''
-    mkdir -p $out/bin
-    make bindir=$out/bin install
-  '';
+  buildInputs = with ocamlPackages; [ ppxlib ];
 
   src = fetchFromGitHub {
     owner = "besport";
     repo = "ocsigen-i18n";
     rev = version;
-    sha256 = "sha256-PmdDyn+MUcNFrZpP/KLGQzdXUFRr+dYRAZjTZxHSeaw=";
+    hash = "sha256-NIl1YUTws8Ff4nrqdhU7oS/TN0lxVQgrtyEZtpS1ojM=";
   };
 
   meta = {
diff --git a/pkgs/development/tools/ocaml/omake/default.nix b/pkgs/development/tools/ocaml/omake/default.nix
index 32650f80b5816..956a4d4a5d018 100644
--- a/pkgs/development/tools/ocaml/omake/default.nix
+++ b/pkgs/development/tools/ocaml/omake/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ ocaml ];
 
   meta = {
-    description = "A build system designed for scalability and portability";
+    description = "Build system designed for scalability and portability";
     homepage = "http://projects.camlcity.org/projects/omake.html";
     license = with lib.licenses; [
       mit /* scripts */
diff --git a/pkgs/development/tools/ocaml/opam-publish/default.nix b/pkgs/development/tools/ocaml/opam-publish/default.nix
index 9dc78266f9f39..ce0a807cc56ea 100644
--- a/pkgs/development/tools/ocaml/opam-publish/default.nix
+++ b/pkgs/development/tools/ocaml/opam-publish/default.nix
@@ -38,7 +38,7 @@ buildDunePackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/ocaml-opam/${pname}";
-    description = "A tool to ease contributions to opam repositories";
+    description = "Tool to ease contributions to opam repositories";
     mainProgram = "opam-publish";
     license = with licenses; [ lgpl21Only ocamlLgplLinkingException ];
     maintainers = with maintainers; [ niols ];
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
index 60360abbedea7..ec2638912d3ac 100644
--- a/pkgs/development/tools/ocaml/opam/default.nix
+++ b/pkgs/development/tools/ocaml/opam/default.nix
@@ -136,7 +136,7 @@ in stdenv.mkDerivation {
   doCheck = false;
 
   meta = with lib; {
-    description = "A package manager for OCaml";
+    description = "Package manager for OCaml";
     homepage = "https://opam.ocaml.org/";
     changelog = "https://github.com/ocaml/opam/raw/${version}/CHANGES";
     maintainers = [ ];
diff --git a/pkgs/development/tools/oh-my-posh/default.nix b/pkgs/development/tools/oh-my-posh/default.nix
deleted file mode 100644
index c2dd4cb8e5c61..0000000000000
--- a/pkgs/development/tools/oh-my-posh/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, installShellFiles
-}:
-
-buildGoModule rec {
-  pname = "oh-my-posh";
-  version = "19.24.3";
-
-  src = fetchFromGitHub {
-    owner = "jandedobbeleer";
-    repo = pname;
-    rev = "refs/tags/v${version}";
-    hash = "sha256-sgtMK1ccf1rX5ZdQpTRClxx112eOFV+BWyTIpMlzLVA=";
-  };
-
-  vendorHash = "sha256-iSbQn86b1xZwlyo5nKYI7LEH5AyWCw7MLgD3Q0mtFfk=";
-
-  sourceRoot = "${src.name}/src";
-
-  nativeBuildInputs = [
-    installShellFiles
-  ];
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X github.com/jandedobbeleer/oh-my-posh/src/build.Version=${version}"
-    "-X github.com/jandedobbeleer/oh-my-posh/src/build.Date=1970-01-01T00:00:00Z"
-  ];
-
-  tags = [
-    "netgo"
-    "osusergo"
-    "static_build"
-  ];
-
-  postPatch = ''
-    # these tests requires internet access
-    rm engine/image_test.go engine/migrate_glyphs_test.go
-  '';
-
-  postInstall = ''
-    mv $out/bin/{src,oh-my-posh}
-    mkdir -p $out/share/oh-my-posh
-    cp -r ${src}/themes $out/share/oh-my-posh/
-    installShellCompletion --cmd oh-my-posh \
-      --bash <($out/bin/oh-my-posh completion bash) \
-      --fish <($out/bin/oh-my-posh completion fish) \
-      --zsh <($out/bin/oh-my-posh completion zsh)
-  '';
-
-  meta = with lib; {
-    description = "A prompt theme engine for any shell";
-    mainProgram = "oh-my-posh";
-    homepage = "https://ohmyposh.dev";
-    changelog = "https://github.com/JanDeDobbeleer/oh-my-posh/releases/tag/v${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ lucperkins urandom ];
-  };
-}
diff --git a/pkgs/development/tools/okteto/default.nix b/pkgs/development/tools/okteto/default.nix
index 50789530be67d..e8aca09b18293 100644
--- a/pkgs/development/tools/okteto/default.nix
+++ b/pkgs/development/tools/okteto/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "okteto";
-  version = "2.26.1";
+  version = "2.27.4";
 
   src = fetchFromGitHub {
     owner = "okteto";
     repo = "okteto";
     rev = version;
-    hash = "sha256-bWyerkXmAto0c/LYybUSRctajmL1R0PldfpKsh8crfA=";
+    hash = "sha256-FctWmYGOdmGqjHGlsi3k+RUmU35ufzpMh7Eh88GZiUc=";
   };
 
-  vendorHash = "sha256-cYiyKNpsMfjqLL+6Q/s3nHRcj2y0DHuOu+S5GndLHxk=";
+  vendorHash = "sha256-RpkKWz/cJ1StbpVydqpSfA6uwIYgKa1YOCJVXZRer6k=";
 
   postPatch = ''
     # Disable some tests that need file system & network access.
@@ -21,6 +21,8 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
+  excludedPackages = [ "integration" "samples" ];
+
   ldflags = [
     "-s"
     "-w"
@@ -30,7 +32,7 @@ buildGoModule rec {
   tags = [ "osusergo" "netgo" "static_build" ];
 
   preCheck = ''
-    export HOME=$(mktemp -d)
+    export HOME="$(mktemp -d)"
   '';
 
   checkFlags = [
@@ -46,7 +48,7 @@ buildGoModule rec {
 
   passthru.tests.version = testers.testVersion {
     package = okteto;
-    command = "HOME=$(mktemp -d) okteto version";
+    command = "HOME=\"$(mktemp -d)\" okteto version";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/ols/default.nix b/pkgs/development/tools/ols/default.nix
deleted file mode 100644
index ecc5a54778ffd..0000000000000
--- a/pkgs/development/tools/ols/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv, fetchFromGitHub, makeBinaryWrapper, unstableGitUpdater, odin, lib }:
-
-stdenv.mkDerivation {
-  pname = "ols";
-  version = "0-unstable-2024-04-28";
-
-  src = fetchFromGitHub {
-    owner = "DanielGavin";
-    repo = "ols";
-    rev = "49a63471d91120a23ec86f1621e99155d1be55c2";
-    hash = "sha256-fHCSPqeN24QbCzwMCLtvK5YnR0ExveDvXRuWL2nHt8M=";
-  };
-
-  passthru.updateScript = unstableGitUpdater {
-    hardcodeZeroVersion = true;
-  };
-
-  nativeBuildInputs = [
-    makeBinaryWrapper
-  ];
-
-  buildInputs = [
-    odin
-  ];
-
-  postPatch = ''
-    patchShebangs build.sh
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    ./build.sh
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm755 ols -t $out/bin/
-    wrapProgram $out/bin/ols --set-default ODIN_ROOT ${odin}/share
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    inherit (odin.meta) platforms;
-    description = "Language server for the Odin programming language";
-    mainProgram = "ols";
-    homepage = "https://github.com/DanielGavin/ols";
-    license = licenses.mit;
-    maintainers = with maintainers; [ astavie znaniye ];
-  };
-}
diff --git a/pkgs/development/tools/omniorb/default.nix b/pkgs/development/tools/omniorb/default.nix
index acc1dd1403ddd..bbe663911ff49 100644
--- a/pkgs/development/tools/omniorb/default.nix
+++ b/pkgs/development/tools/omniorb/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A robust high performance CORBA ORB for C++ and Python";
+    description = "Robust high performance CORBA ORB for C++ and Python";
     longDescription = ''
       omniORB is a robust high performance CORBA ORB for C++ and Python.
       It is freely available under the terms of the GNU Lesser General Public License
diff --git a/pkgs/development/tools/opcr-policy/default.nix b/pkgs/development/tools/opcr-policy/default.nix
index 568b6a172c4ca..281113a48b89f 100644
--- a/pkgs/development/tools/opcr-policy/default.nix
+++ b/pkgs/development/tools/opcr-policy/default.nix
@@ -5,15 +5,15 @@
 
 buildGoModule rec {
   pname = "opcr-policy";
-  version = "0.2.12";
+  version = "0.2.15";
 
   src = fetchFromGitHub {
     owner = "opcr-io";
     repo = "policy";
     rev = "v${version}";
-    sha256 = "sha256-3rMSk4oRqPWqJh4o+oGtfqpEz4zkr4CVaIyMvBopN/o=";
+    sha256 = "sha256-ffUggy1Ubs3pnBbznPR3JN0QrSBfkUI9bk+dSq4oxfs=";
   };
-  vendorHash = "sha256-ZP4EM7NZwfTLx0e47DikgMI7Y+IYmREdLL/r/CC9P7c=";
+  vendorHash = "sha256-vqH3f1kfcOG04PPzC4izzKBJPZ3SSlK7y7nKhOJ9GdE=";
 
   ldflags = [ "-s" "-w" "-X github.com/opcr-io/policy/pkg/version.ver=${version}" ];
 
diff --git a/pkgs/development/tools/open-policy-agent/default.nix b/pkgs/development/tools/open-policy-agent/default.nix
index 146a2e0c3bbe6..6c2d5175c3f51 100644
--- a/pkgs/development/tools/open-policy-agent/default.nix
+++ b/pkgs/development/tools/open-policy-agent/default.nix
@@ -11,13 +11,13 @@ assert enableWasmEval && stdenv.isDarwin -> builtins.throw "building with wasm o
 
 buildGoModule rec {
   pname = "open-policy-agent";
-  version = "0.64.1";
+  version = "0.65.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "opa";
     rev = "v${version}";
-    hash = "sha256-IIW6AXv5x+uQGCZulPPB7IhRlCq7Ww76qUhMHg3Fx7g=";
+    hash = "sha256-nf/xQ5744cplTNYkwaUbGv7Dw0BGf52dWTjnTVa9qL8=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/operator-sdk/default.nix b/pkgs/development/tools/operator-sdk/default.nix
index 62bf98c593f47..b334654dd924e 100644
--- a/pkgs/development/tools/operator-sdk/default.nix
+++ b/pkgs/development/tools/operator-sdk/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "operator-sdk";
-  version = "1.34.1";
+  version = "1.35.0";
 
   src = fetchFromGitHub {
     owner = "operator-framework";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-3S7jR76b9MZpqn4Hj9yhjfravBk1PiESJEbG5XR4tnI=";
+    hash = "sha256-KalG1DLhvXEjNAOeP79BMYvI74j6nKnDkOYubIJ0Shs=";
   };
 
-  vendorHash = "sha256-YspUrnSS6d8Ta8dmUjx9A5D/V5Bqm08DQJrRBaIGyQg=";
+  vendorHash = "sha256-TuDbQoC9at3yQikGTfsAKJ5kc/naqLqfHEwXLOv+12A=";
 
   nativeBuildInputs = [
     makeWrapper
diff --git a/pkgs/development/tools/oq/default.nix b/pkgs/development/tools/oq/default.nix
index 8508fbc2d741f..0be19c71ffb47 100644
--- a/pkgs/development/tools/oq/default.nix
+++ b/pkgs/development/tools/oq/default.nix
@@ -37,7 +37,7 @@ crystal.buildCrystalPackage rec {
   '';
 
   meta = with lib; {
-    description = "A performant, and portable jq wrapper";
+    description = "Performant, and portable jq wrapper";
     mainProgram = "oq";
     homepage = "https://blacksmoke16.github.io/oq/";
     license = licenses.mit;
diff --git a/pkgs/development/tools/oras/default.nix b/pkgs/development/tools/oras/default.nix
index fe1c0d5db36b7..add83c4480a1d 100644
--- a/pkgs/development/tools/oras/default.nix
+++ b/pkgs/development/tools/oras/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "oras";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "oras-project";
     repo = "oras";
     rev = "v${version}";
-    hash = "sha256-oWDxrxCrBU0quSpRLXZ0w1COuImVj4FzAmv8574x76o=";
+    hash = "sha256-uqbHyp7eB7uttBlWpWxkCDGHtLkViYPEsIXuMGZ6LuM=";
   };
 
-  vendorHash = "sha256-51keQmj1eGT3rJysnfTWIl8xoHfz3NPL/qXegc3wwNc=";
+  vendorHash = "sha256-QGh3utM+9yPRGN/6IrPbXzyXA6yUNKQuOdVWglFeySw=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -50,7 +50,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://oras.land/";
     changelog = "https://github.com/oras-project/oras/releases/tag/v${version}";
-    description = "The ORAS project provides a way to push and pull OCI Artifacts to and from OCI Registries";
+    description = "ORAS project provides a way to push and pull OCI Artifacts to and from OCI Registries";
     mainProgram = "oras";
     license = licenses.asl20;
     maintainers = with maintainers; [ jk developer-guy ];
diff --git a/pkgs/development/tools/oxlint/default.nix b/pkgs/development/tools/oxlint/default.nix
index 8294871aeb39c..d21488684f56c 100644
--- a/pkgs/development/tools/oxlint/default.nix
+++ b/pkgs/development/tools/oxlint/default.nix
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
   cargoTestFlags = cargoBuildFlags;
 
   meta = with lib; {
-    description = "A suite of high-performance tools for JavaScript and TypeScript written in Rust";
+    description = "Suite of high-performance tools for JavaScript and TypeScript written in Rust";
     homepage = "https://github.com/web-infra-dev/oxc";
     changelog = "https://github.com/web-infra-dev/oxc/releases/tag/${src.rev}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/package-project-cmake/default.nix b/pkgs/development/tools/package-project-cmake/default.nix
index 239ba515ea2b7..48ddac5088429 100644
--- a/pkgs/development/tools/package-project-cmake/default.nix
+++ b/pkgs/development/tools/package-project-cmake/default.nix
@@ -29,7 +29,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     homepage = "https://github.com/TheLartians/PackageProject.cmake";
-    description = "A CMake script for packaging C/C++ projects";
+    description = "CMake script for packaging C/C++ projects";
     longDescription = ''
       Help other developers use your project. A CMake script for packaging
       C/C++ projects for simple project installation while employing
diff --git a/pkgs/development/tools/packcc/default.nix b/pkgs/development/tools/packcc/default.nix
index b1ec078c9c5dd..2128e48886b8b 100644
--- a/pkgs/development/tools/packcc/default.nix
+++ b/pkgs/development/tools/packcc/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "A parser generator for C";
+    description = "Parser generator for C";
     mainProgram = "packcc";
     longDescription = ''
       PackCC is a parser generator for C. Its main features are as follows:
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index 529d9b69ed3b0..d2fad639aa21b 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "packer";
-  version = "1.10.2";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "packer";
     rev = "v${version}";
-    hash = "sha256-/ViyS7srbOoZJDvDCRoNYWkdCYi3F1Pr0gSSFF0M1ak=";
+    hash = "sha256-LU3URVklSjpsQas9xtvIU2OcyMZHqkcA7WaUYCQHfns=";
   };
 
-  vendorHash = "sha256-JNOlMf+PIONokw5t2xhz1Y+b5VwRDG7BKODl8fHCcJY=";
+  vendorHash = "sha256-ipinfk+nFAeyND1HNOehHd+0l5meOPOgbkmCzJlvw+A=";
 
   subPackages = [ "." ];
 
@@ -28,7 +28,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "A tool for creating identical machine images for multiple platforms from a single source configuration";
+    description = "Tool for creating identical machine images for multiple platforms from a single source configuration";
     homepage    = "https://www.packer.io";
     license     = licenses.bsl11;
     maintainers = with maintainers; [ zimbatm ma27 techknowlogick qjoly ];
diff --git a/pkgs/development/tools/parsing/antlr/2.7.7.nix b/pkgs/development/tools/parsing/antlr/2.7.7.nix
index b7437d70bf80f..a47918f4354b1 100644
--- a/pkgs/development/tools/parsing/antlr/2.7.7.nix
+++ b/pkgs/development/tools/parsing/antlr/2.7.7.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
   patches = [ ./2.7.7-fixes.patch ];
   buildInputs = [ jdk ];
 
+  CXXFLAGS = lib.optionalString stdenv.isDarwin "-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION";
+
   meta = with lib; {
     description = "Powerful parser generator";
     longDescription = ''
diff --git a/pkgs/development/tools/parsing/bisonc++/default.nix b/pkgs/development/tools/parsing/bisonc++/default.nix
index 5994da0226310..3b8bf5601ed5d 100644
--- a/pkgs/development/tools/parsing/bisonc++/default.nix
+++ b/pkgs/development/tools/parsing/bisonc++/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A parser generator like bison, but it generates C++ code";
+    description = "Parser generator like bison, but it generates C++ code";
     mainProgram = "bisonc++";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ raskin ];
diff --git a/pkgs/development/tools/parsing/flex/2.5.35.nix b/pkgs/development/tools/parsing/flex/2.5.35.nix
index d6a09929d4f86..a68f7e07429c3 100644
--- a/pkgs/development/tools/parsing/flex/2.5.35.nix
+++ b/pkgs/development/tools/parsing/flex/2.5.35.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     branch = "2.5.35";
     homepage = "https://flex.sourceforge.net/";
-    description = "A fast lexical analyser generator";
+    description = "Fast lexical analyser generator";
     mainProgram = "flex";
     license = licenses.bsd2;
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix
index 8991c1419f2a2..bd62241ec98ca 100644
--- a/pkgs/development/tools/parsing/flex/default.nix
+++ b/pkgs/development/tools/parsing/flex/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/westes/flex";
-    description = "A fast lexical analyser generator";
+    description = "Fast lexical analyser generator";
     license = licenses.bsd2;
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix
index d1cd4b167003f..d47c62cf9d853 100644
--- a/pkgs/development/tools/parsing/hammer/default.nix
+++ b/pkgs/development/tools/parsing/hammer/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ glib ];
 
   meta = with lib; {
-    description = "A bit-oriented parser combinator library";
+    description = "Bit-oriented parser combinator library";
     longDescription = ''
       Hammer is a parsing library. Like many modern parsing libraries, it
       provides a parser combinator interface for writing grammars as inline
diff --git a/pkgs/development/tools/parsing/javacc/default.nix b/pkgs/development/tools/parsing/javacc/default.nix
index a601ac15221f0..ed01650678216 100644
--- a/pkgs/development/tools/parsing/javacc/default.nix
+++ b/pkgs/development/tools/parsing/javacc/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     changelog = "https://github.com/javacc/javacc/blob/${finalAttrs.src.rev}/docs/release-notes.md";
-    description = "A parser generator for building parsers from grammars";
+    description = "Parser generator for building parsers from grammars";
     homepage = "https://javacc.github.io/javacc";
     license = licenses.bsd2;
     mainProgram = "javacc";
diff --git a/pkgs/development/tools/parsing/jikespg/default.nix b/pkgs/development/tools/parsing/jikespg/default.nix
index aec4682cec2e6..03814d3cfbe78 100644
--- a/pkgs/development/tools/parsing/jikespg/default.nix
+++ b/pkgs/development/tools/parsing/jikespg/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   postPatch = ''
-    substituteInPlace Makefile --replace "gcc" "${stdenv.cc.targetPrefix}cc"
+    substituteInPlace Makefile --replace-fail "gcc" "${stdenv.cc.targetPrefix}cc ${lib.optionalString stdenv.isDarwin "-std=c89"}"
   '';
 
   sourceRoot = "jikespg/src";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://jikes.sourceforge.net/";
-    description = "The Jikes Parser Generator";
+    description = "Jikes Parser Generator";
     mainProgram = "jikespg";
     platforms = platforms.all;
     license = licenses.ipl10;
diff --git a/pkgs/development/tools/parsing/lemon/default.nix b/pkgs/development/tools/parsing/lemon/default.nix
index 5e59d7441e7e1..512d3bccc9733 100644
--- a/pkgs/development/tools/parsing/lemon/default.nix
+++ b/pkgs/development/tools/parsing/lemon/default.nix
@@ -31,7 +31,7 @@ in stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "An LALR(1) parser generator";
+    description = "LALR(1) parser generator";
     mainProgram = "lemon";
     longDescription = ''
       The Lemon program is an LALR(1) parser generator that takes a
diff --git a/pkgs/development/tools/parsing/nex/default.nix b/pkgs/development/tools/parsing/nex/default.nix
index 2d3f18cacedd0..6a34156608784 100644
--- a/pkgs/development/tools/parsing/nex/default.nix
+++ b/pkgs/development/tools/parsing/nex/default.nix
@@ -1,12 +1,12 @@
-{ buildGoPackage
+{ buildGoModule
 , fetchFromGitHub
 , lib
 }:
 # upstream is pretty stale, but it still works, so until they merge module
 # support we have to use gopath: see blynn/nex#57
-buildGoPackage rec {
+buildGoModule rec {
   pname = "nex";
-  version = "unstable-2021-03-30";
+  version = "0-unstable-2021-03-30";
 
   src = fetchFromGitHub {
     owner = "blynn";
@@ -15,9 +15,18 @@ buildGoPackage rec {
     hash = "sha256-DtJkV380T2B5j0+u7lYZfbC0ej0udF4GW2lbRmmbjAM=";
   };
 
-  goPackagePath = "github.com/blynn/nex";
+  vendorHash = null;
+
+  postPatch = ''
+    go mod init github.com/blynn/nex
+  '';
+
   subPackages = [ "." ];
 
+  # Fails with 'nex_test.go:23: got: 7a3661f13445ca7b51de2987bea127d9 wanted: 13f760d2f0dc1743dd7165781f2a318d'
+  # Checks failed on master before, but buildGoPackage had checks disabled.
+  doCheck = false;
+
   meta = with lib; {
     description = "Lexer for Go";
     mainProgram = "nex";
diff --git a/pkgs/development/tools/parsing/re-flex/default.nix b/pkgs/development/tools/parsing/re-flex/default.nix
index 2f989d9bfb1e5..10131c23b2ba2 100644
--- a/pkgs/development/tools/parsing/re-flex/default.nix
+++ b/pkgs/development/tools/parsing/re-flex/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://www.genivia.com/doc/reflex/html";
-    description = "The regex-centric, fast lexical analyzer generator for C++ with full Unicode support";
+    description = "Regex-centric, fast lexical analyzer generator for C++ with full Unicode support";
     license = licenses.bsd3;
     platforms = platforms.all;
     maintainers = with lib.maintainers; [ prrlvr ];
diff --git a/pkgs/development/tools/parsing/spicy/default.nix b/pkgs/development/tools/parsing/spicy/default.nix
index 7476e57bedffa..9738ffb41bca0 100644
--- a/pkgs/development/tools/parsing/spicy/default.nix
+++ b/pkgs/development/tools/parsing/spicy/default.nix
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation rec {
   pname = "spicy";
-  version = "1.10.0";
+  version = "1.10.1";
 
   strictDeps = true;
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     owner = "zeek";
     repo = "spicy";
     rev = "v${version}";
-    hash = "sha256-LFAeZ1UsnOKaXlnSd/cMfJQk0ZfaNAzSbvSuoKmmOoI=";
+    hash = "sha256-D7DWZDZH3/PFggMxsr+x5S1B6SV5E8xpJoXfGcDelKs=";
     fetchSubmodules = true;
   };
 
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/zeek/spicy";
-    description = "A C++ parser generator for dissecting protocols & files";
+    description = "C++ parser generator for dissecting protocols & files";
     longDescription = ''
       Spicy is a parser generator that makes it easy to create robust C++
       parsers for network protocols, file formats, and more. Spicy is a bit
diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix
index 14f5e32b505cc..6e3390103b342 100644
--- a/pkgs/development/tools/parsing/tree-sitter/default.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/default.nix
@@ -172,7 +172,7 @@ rustPlatform.buildRustPackage {
 
   meta = with lib; {
     homepage = "https://github.com/tree-sitter/tree-sitter";
-    description = "A parser generator tool and an incremental parsing library";
+    description = "Parser generator tool and an incremental parsing library";
     mainProgram = "tree-sitter";
     changelog = "https://github.com/tree-sitter/tree-sitter/blob/v${version}/CHANGELOG.md";
     longDescription = ''
diff --git a/pkgs/development/tools/patcher9x/default.nix b/pkgs/development/tools/patcher9x/default.nix
index 090f902c75b92..fdf116a40c860 100644
--- a/pkgs/development/tools/patcher9x/default.nix
+++ b/pkgs/development/tools/patcher9x/default.nix
@@ -1,7 +1,7 @@
 { fasm, lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation (finalAttr: {
-  name = "patcher9x";
+  pname = "patcher9x";
   version = "0.8.50";
 
   srcs = [
diff --git a/pkgs/development/tools/pax-rs/default.nix b/pkgs/development/tools/pax-rs/default.nix
index d89221da8fea7..7b0e2c7a784a9 100644
--- a/pkgs/development/tools/pax-rs/default.nix
+++ b/pkgs/development/tools/pax-rs/default.nix
@@ -5,7 +5,7 @@ rustPlatform.buildRustPackage rec {
   version = "0.4.0";
 
   meta = with lib; {
-    description = "The fastest JavaScript bundler in the galaxy";
+    description = "Fastest JavaScript bundler in the galaxy";
     longDescription = ''
       The fastest JavaScript bundler in the galaxy. Fully supports ECMAScript module syntax (import/export) in addition to CommonJS require(<string>).
     '';
diff --git a/pkgs/development/tools/perseus-cli/default.nix b/pkgs/development/tools/perseus-cli/default.nix
index 4b39fccdd3669..a72ceab056efb 100644
--- a/pkgs/development/tools/perseus-cli/default.nix
+++ b/pkgs/development/tools/perseus-cli/default.nix
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     homepage = "https://arctic-hen7.github.io/perseus";
-    description = "A high-level web development framework for Rust with full support for server-side rendering and static generation";
+    description = "High-level web development framework for Rust with full support for server-side rendering and static generation";
     maintainers = with maintainers; [ max-niederman ];
     license = with licenses; [ mit ];
     mainProgram = "perseus";
diff --git a/pkgs/development/tools/pet/default.nix b/pkgs/development/tools/pet/default.nix
index c911673e11680..bf4b4f0e633d6 100644
--- a/pkgs/development/tools/pet/default.nix
+++ b/pkgs/development/tools/pet/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pet";
-  version = "0.7.1";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "knqyf263";
     repo = "pet";
     rev = "v${version}";
-    sha256 = "sha256-UN7UkwzMz5KGZZqfK+g3bja/dBO6oy682b8qqYgSfPU=";
+    sha256 = "sha256-XFizQxegyMIAUEKT8/kzWyC4TWICMUE7SuHQsTNpK4w=";
   };
 
-  vendorHash = "sha256-ebdPWKNL9i3sEGpfDCXIfOaFQjV5LXohug2qFXeWenk=";
+  vendorHash = "sha256-XvSg7EhFdK7wt1Eei56pj/emiE4qsVJkOpgPNsnDNc4=";
 
   ldflags = [
     "-s" "-w" "-X=github.com/knqyf263/pet/cmd.version=${version}"
diff --git a/pkgs/development/tools/pgformatter/default.nix b/pkgs/development/tools/pgformatter/default.nix
index 219b8b67d3b85..d4407fa5ec246 100644
--- a/pkgs/development/tools/pgformatter/default.nix
+++ b/pkgs/development/tools/pgformatter/default.nix
@@ -43,7 +43,7 @@ perlPackages.buildPerlPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A PostgreSQL SQL syntax beautifier that can work as a console program or as a CGI";
+    description = "PostgreSQL SQL syntax beautifier that can work as a console program or as a CGI";
     homepage = "https://github.com/darold/pgFormatter";
     changelog = "https://github.com/darold/pgFormatter/releases/tag/v${version}";
     maintainers = [ ];
diff --git a/pkgs/development/tools/pgtop/default.nix b/pkgs/development/tools/pgtop/default.nix
index 4007bc5abec1f..5798b7da517ab 100644
--- a/pkgs/development/tools/pgtop/default.nix
+++ b/pkgs/development/tools/pgtop/default.nix
@@ -21,7 +21,7 @@ perlPackages.buildPerlPackage rec {
   '';
 
   meta = with lib; {
-    description = "a PostgreSQL clone of `mytop', which in turn is a `top' clone for MySQL";
+    description = "PostgreSQL clone of `mytop', which in turn is a `top' clone for MySQL";
     mainProgram = "pgtop";
     homepage = "https://github.com/cosimo/pgtop";
     changelog = "https://github.com/cosimo/pgtop/releases/tag/v${version}";
diff --git a/pkgs/development/tools/pigeon/default.nix b/pkgs/development/tools/pigeon/default.nix
index 38fcd75f391df..2277d4c3616a8 100644
--- a/pkgs/development/tools/pigeon/default.nix
+++ b/pkgs/development/tools/pigeon/default.nix
@@ -21,7 +21,7 @@ buildGoModule rec {
 
   meta = {
     homepage = "https://github.com/mna/pigeon";
-    description = "A PEG parser generator for Go";
+    description = "PEG parser generator for Go";
     mainProgram = "pigeon";
     maintainers = with lib.maintainers; [ zimbatm ];
     license = with lib.licenses; [ bsd3 ];
diff --git a/pkgs/development/tools/pipenv/default.nix b/pkgs/development/tools/pipenv/default.nix
index c8e4d0e200691..27386cc1d6902 100644
--- a/pkgs/development/tools/pipenv/default.nix
+++ b/pkgs/development/tools/pipenv/default.nix
@@ -24,14 +24,14 @@ let
 
 in buildPythonApplication rec {
   pname = "pipenv";
-  version = "2023.2.4";
+  version = "2023.10.24";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pypa";
     repo = "pipenv";
     rev = "refs/tags/v${version}";
-    hash = "sha256-jZOBu4mWyu8U6CGqtYgfcCCDSa0pGqoZEFnXl5IO+JY=";
+    hash = "sha256-b1EqCrgGygdG08zzastgcYGnXDKoEYNvm5xjDLzlAXo=";
   };
 
   env.LC_ALL = "en_US.UTF-8";
@@ -47,7 +47,7 @@ in buildPythonApplication rec {
     # and to call setup.py.
     # It would use sys.executable, which in our case points to a python that
     # does not have the required dependencies.
-    substituteInPlace pipenv/core.py \
+    substituteInPlace pipenv/utils/virtualenv.py \
       --replace "sys.executable" "'${pythonEnv.interpreter}'"
   '';
 
diff --git a/pkgs/development/tools/pnpm/default.nix b/pkgs/development/tools/pnpm/default.nix
new file mode 100644
index 0000000000000..d6a47cfebf4bd
--- /dev/null
+++ b/pkgs/development/tools/pnpm/default.nix
@@ -0,0 +1,20 @@
+{ lib, callPackage }:
+let
+  inherit (lib) mapAttrs' nameValuePair;
+
+  variants = {
+    "8" = {
+      version = "8.15.8";
+      hash = "sha256-aR/hdu6pqKgN8g5JdvPftEoEhBzriFY4/iomF0+B5l4=";
+    };
+    "9" = {
+      version = "9.3.0";
+      hash = "sha256-4fno0aFmB6Rt08FYtfen3HlFUB0cYiLUVNY9Az0dkY8=";
+    };
+  };
+
+  callPnpm = variant: callPackage ./generic.nix {inherit (variant) version hash;};
+
+  mkPnpm = versionSuffix: variant: nameValuePair "pnpm_${versionSuffix}" (callPnpm variant);
+in
+mapAttrs' mkPnpm variants
diff --git a/pkgs/development/tools/pnpm/fetch-deps/default.nix b/pkgs/development/tools/pnpm/fetch-deps/default.nix
new file mode 100644
index 0000000000000..83972abf8b08a
--- /dev/null
+++ b/pkgs/development/tools/pnpm/fetch-deps/default.nix
@@ -0,0 +1,91 @@
+{
+  stdenvNoCC,
+  fetchurl,
+  callPackage,
+  jq,
+  moreutils,
+  cacert,
+  makeSetupHook,
+  pnpm,
+}:
+{
+  fetchDeps =
+    {
+      src,
+      hash ? "",
+      pname,
+      ...
+    }@args:
+    let
+      args' = builtins.removeAttrs args [
+        "hash"
+        "pname"
+      ];
+      hash' =
+        if hash != "" then
+          { outputHash = hash; }
+        else
+          {
+            outputHash = "";
+            outputHashAlgo = "sha256";
+          };
+    in
+    stdenvNoCC.mkDerivation (finalAttrs: (
+      args'
+      // {
+        name = "${pname}-pnpm-deps";
+
+        nativeBuildInputs = [
+          jq
+          moreutils
+          pnpm
+          cacert
+        ];
+
+        installPhase = ''
+          runHook preInstall
+
+          export HOME=$(mktemp -d)
+          pnpm config set store-dir $out
+          # Some packages produce platform dependent outputs. We do not want to cache those in the global store
+          pnpm config set side-effects-cache false
+          # As we pin pnpm versions, we don't really care about updates
+          pnpm config set update-notifier false
+          # pnpm is going to warn us about using --force
+          # --force allows us to fetch all dependencies including ones that aren't meant for our host platform
+          pnpm install --frozen-lockfile --ignore-script --force
+
+          runHook postInstall
+        '';
+
+        fixupPhase = ''
+          runHook preFixup
+
+          # Remove timestamp and sort the json files
+          rm -rf $out/v3/tmp
+          for f in $(find $out -name "*.json"); do
+            jq --sort-keys "del(.. | .checkedAt?)" $f | sponge $f
+          done
+
+          runHook postFixup
+        '';
+
+        passthru = {
+          serve = callPackage ./serve.nix {
+            inherit pnpm;
+            pnpmDeps = finalAttrs.finalPackage;
+          };
+        };
+
+        dontConfigure = true;
+        dontBuild = true;
+        outputHashMode = "recursive";
+      }
+      // hash'
+    ));
+
+  configHook = makeSetupHook {
+    name = "pnpm-config-hook";
+    propagatedBuildInputs = [ pnpm ];
+  } ./pnpm-config-hook.sh;
+}
diff --git a/pkgs/development/tools/pnpm/fetch-deps/pnpm-config-hook.sh b/pkgs/development/tools/pnpm/fetch-deps/pnpm-config-hook.sh
new file mode 100644
index 0000000000000..fc0c47dbb70b6
--- /dev/null
+++ b/pkgs/development/tools/pnpm/fetch-deps/pnpm-config-hook.sh
@@ -0,0 +1,40 @@
+# shellcheck shell=bash
+
+pnpmConfigHook() {
+    echo "Executing pnpmConfigHook"
+
+    if [ -n "${pnpmRoot-}" ]; then
+      pushd "$pnpmRoot"
+    fi
+
+    if [ -z "${pnpmDeps-}" ]; then
+      echo "Error: 'pnpmDeps' must be set when using pnpmConfigHook."
+      exit 1
+    fi
+
+    echo "Configuring pnpm store"
+
+    export HOME=$(mktemp -d)
+    export STORE_PATH=$(mktemp -d)
+
+    cp -Tr "$pnpmDeps" "$STORE_PATH"
+    chmod -R +w "$STORE_PATH"
+
+    pnpm config set store-dir "$STORE_PATH"
+
+    echo "Installing dependencies"
+
+    pnpm install --offline --frozen-lockfile --ignore-script
+
+    echo "Patching scripts"
+
+    patchShebangs node_modules/{*,.*}
+
+    if [ -n "${pnpmRoot-}" ]; then
+      popd
+    fi
+
+    echo "Finished pnpmConfigHook"
+}
+
+postConfigureHooks+=(pnpmConfigHook)
diff --git a/pkgs/development/tools/pnpm/fetch-deps/serve.nix b/pkgs/development/tools/pnpm/fetch-deps/serve.nix
new file mode 100644
index 0000000000000..a44022d841dc5
--- /dev/null
+++ b/pkgs/development/tools/pnpm/fetch-deps/serve.nix
@@ -0,0 +1,30 @@
+{ writeShellApplication, pnpm, pnpmDeps }:
+writeShellApplication {
+  name = "serve-pnpm-store";
+
+  runtimeInputs = [
+    pnpm
+  ];
+
+  text = ''
+    storePath=$(mktemp -d)
+
+    clean() {
+      echo "Cleaning up temporary store at '$storePath'..."
+
+      rm -rf "$storePath"
+    }
+
+    echo "Copying pnpm store '${pnpmDeps}' to temporary store..."
+
+    cp -Tr "${pnpmDeps}" "$storePath"
+    chmod -R +w "$storePath"
+
+    echo "Run 'pnpm install --store-dir \"$storePath\"' to install packages from this store."
+
+    trap clean EXIT
+
+    pnpm server start \
+      --store-dir "$storePath"
+  '';
+}
diff --git a/pkgs/development/tools/pnpm/generic.nix b/pkgs/development/tools/pnpm/generic.nix
new file mode 100644
index 0000000000000..7050df4489709
--- /dev/null
+++ b/pkgs/development/tools/pnpm/generic.nix
@@ -0,0 +1,80 @@
+{
+  lib,
+  stdenvNoCC,
+  callPackages,
+  fetchurl,
+  installShellFiles,
+  nodejs,
+  testers,
+  withNode ? true,
+
+  version,
+  hash,
+}: stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "pnpm";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://registry.npmjs.org/pnpm/-/pnpm-${finalAttrs.version}.tgz";
+    inherit hash;
+  };
+  # Remove binary files from src, we don't need them, and this way we make sure
+  # our distribution is free of binaryNativeCode
+  preConfigure = ''
+    rm -r dist/reflink.*node dist/vendor
+  '';
+
+  buildInputs = lib.optionals withNode [ nodejs ];
+
+  nativeBuildInputs = [ installShellFiles nodejs ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -d $out/{bin,libexec}
+    cp -R . $out/libexec/pnpm
+    ln -s $out/libexec/pnpm/bin/pnpm.cjs $out/bin/pnpm
+    ln -s $out/libexec/pnpm/bin/pnpx.cjs $out/bin/pnpx
+
+    runHook postInstall
+  '';
+
+  postInstall =
+    if lib.toInt (lib.versions.major version) < 9 then ''
+      export HOME="$PWD"
+      node $out/bin/pnpm install-completion bash
+      node $out/bin/pnpm install-completion fish
+      node $out/bin/pnpm install-completion zsh
+      sed -i '1 i#compdef pnpm' .config/tabtab/zsh/pnpm.zsh
+      installShellCompletion \
+        .config/tabtab/bash/pnpm.bash \
+        .config/tabtab/fish/pnpm.fish \
+        .config/tabtab/zsh/pnpm.zsh
+    '' else ''
+      node $out/bin/pnpm completion bash >pnpm.bash
+      node $out/bin/pnpm completion fish >pnpm.fish
+      node $out/bin/pnpm completion zsh >pnpm.zsh
+      sed -i '1 i#compdef pnpm' pnpm.zsh
+      installShellCompletion pnpm.{bash,fish,zsh}
+    '';
+
+  passthru = let
+    fetchDepsAttrs = callPackages ./fetch-deps { pnpm = finalAttrs.finalPackage; };
+  in {
+    inherit (fetchDepsAttrs) fetchDeps configHook;
+
+    tests.version = lib.optionalAttrs withNode (
+      testers.testVersion { package = finalAttrs.finalPackage; }
+    );
+  };
+
+  meta = with lib; {
+    description = "Fast, disk space efficient package manager for JavaScript";
+    homepage = "https://pnpm.io/";
+    changelog = "https://github.com/pnpm/pnpm/releases/tag/v${finalAttrs.version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Scrumplex ];
+    platforms = platforms.all;
+    mainProgram = "pnpm";
+  };
+})
diff --git a/pkgs/development/tools/pqrs/default.nix b/pkgs/development/tools/pqrs/default.nix
index 730bc67fbbe83..1d406394ac122 100644
--- a/pkgs/development/tools/pqrs/default.nix
+++ b/pkgs/development/tools/pqrs/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pqrs";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "manojkarthick";
     repo = "pqrs";
     rev = "v${version}";
-    sha256 = "sha256-t6Y6gpMEpccCoyhG66FZEKHVNCbHblaqYZY1iJUZVUA=";
+    sha256 = "sha256-0oSSoGZga0OGAKUNsLmKkUl8N1l0pVi4KIqrKJbeVVU=";
   };
 
-  cargoHash = "sha256-fnoYVWpBn5Dil2o+u2MKQqd8dEKFE2i29Qz7cJae+gE=";
+  cargoHash = "sha256-w0WD+EtVGFMGpS4a2DJrLdbunwF2yiONKQwdcQG2EB0=";
 
   meta = with lib; {
     description = "CLI tool to inspect Parquet files";
diff --git a/pkgs/development/tools/profiling/heaptrack/default.nix b/pkgs/development/tools/profiling/heaptrack/default.nix
index 2e4d996af01e3..88de0065e8ec2 100644
--- a/pkgs/development/tools/profiling/heaptrack/default.nix
+++ b/pkgs/development/tools/profiling/heaptrack/default.nix
@@ -1,5 +1,5 @@
 {
-  lib, mkDerivation, fetchFromGitHub, cmake, extra-cmake-modules,
+  lib, stdenv, mkDerivation, fetchFromGitHub, cmake, extra-cmake-modules, makeBinaryWrapper,
   zlib, boost179, libunwind, elfutils, sparsehash, zstd,
   qtbase, kio, kitemmodels, threadweaver, kconfigwidgets, kcoreaddons, kdiagram
 }:
@@ -12,20 +12,29 @@ mkDerivation rec {
     owner = "KDE";
     repo = "heaptrack";
     rev = "v${version}";
-    sha256 = "sha256-pP+s60ERnmOctYTe/vezCg0VYzziApNY0QaF3aTccZU=";
+    hash = "sha256-pP+s60ERnmOctYTe/vezCg0VYzziApNY0QaF3aTccZU=";
   };
 
-  nativeBuildInputs = [ cmake extra-cmake-modules ];
+  nativeBuildInputs = [ cmake extra-cmake-modules makeBinaryWrapper ];
   buildInputs = [
-    zlib boost179 libunwind elfutils sparsehash zstd
+    zlib boost179 libunwind sparsehash zstd
     qtbase kio kitemmodels threadweaver kconfigwidgets kcoreaddons kdiagram
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
+    elfutils
   ];
 
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    makeWrapper \
+      $out/Applications/KDE/heaptrack_gui.app/Contents/MacOS/heaptrack_gui \
+      $out/bin/heaptrack_gui
+  '';
+
   meta = with lib; {
     description = "Heap memory profiler for Linux";
     homepage = "https://github.com/KDE/heaptrack";
     license = licenses.lgpl21Plus;
+    mainProgram = "heaptrack_gui";
     maintainers = with maintainers; [ gebner ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/profiling/pprof/default.nix b/pkgs/development/tools/profiling/pprof/default.nix
index e81446d7f12e4..7ef470a97be13 100644
--- a/pkgs/development/tools/profiling/pprof/default.nix
+++ b/pkgs/development/tools/profiling/pprof/default.nix
@@ -5,20 +5,19 @@
 
 buildGoModule rec {
   pname = "pprof";
-  version = "unstable-2024-02-27";
+  version = "0-unstable-2024-05-09";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "pprof";
-    rev = "401108e1b7e7e113ef887df16b6227698eb5bb0f";
-    hash = "sha256-TD285HHXkePQA2J9W/dEciK5tOLmvbDPr54KNXeE1b4=";
+    rev = "723abb6459b72e964cbfb3f7064446bf3bb321dc";
+    hash = "sha256-zw9/xp5E5V/0D0pf5diWcx/SHX3ujwBtZNfH9tioiL0=";
   };
 
-  vendorHash = "sha256-XOcOt+pe1lZj4XHafxROLslhyJk4mTC72yn7R1k2JCk=";
+  vendorHash = "sha256-bQyloQPfweK4PlrkO1IcCFjyctj99e8C9mQbCj+HCXQ=";
 
   meta = with lib; {
-    description = "A tool for visualization and analysis of profiling data";
-    mainProgram = "pprof";
+    description = "Tool for visualization and analysis of profiling data";
     homepage = "https://github.com/google/pprof";
     license = licenses.asl20;
     longDescription = ''
@@ -41,5 +40,7 @@ buildGoModule rec {
 
       This is not an official Google product.
     '';
+    mainProgram = "pprof";
+    maintainers = with maintainers; [ hzeller ];
   };
 }
diff --git a/pkgs/development/tools/prospector/default.nix b/pkgs/development/tools/prospector/default.nix
index 598b2570600e7..58fab74c98841 100644
--- a/pkgs/development/tools/prospector/default.nix
+++ b/pkgs/development/tools/prospector/default.nix
@@ -27,7 +27,6 @@ python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = with python3.pkgs; [
     poetry-core
-    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/prospector/setoptconf.nix b/pkgs/development/tools/prospector/setoptconf.nix
index 1d0f06a57e77e..918c377cfa642 100644
--- a/pkgs/development/tools/prospector/setoptconf.nix
+++ b/pkgs/development/tools/prospector/setoptconf.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     homepage = "https://pypi.org/project/setoptconf-tmp";
-    description = "A module for retrieving program settings from various sources in a consistant method";
+    description = "Module for retrieving program settings from various sources in a consistant method";
     license = licenses.mit;
     maintainers = with maintainers; [
       kamadorueda
diff --git a/pkgs/development/tools/protoc-gen-connect-go/default.nix b/pkgs/development/tools/protoc-gen-connect-go/default.nix
index b5a0e80f0b3e5..516aa5927b971 100644
--- a/pkgs/development/tools/protoc-gen-connect-go/default.nix
+++ b/pkgs/development/tools/protoc-gen-connect-go/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "protoc-gen-connect-go";
-  version = "1.16.1";
+  version = "1.16.2";
 
   src = fetchFromGitHub {
     owner = "connectrpc";
     repo = "connect-go";
     rev = "refs/tags/v${version}";
-    hash = "sha256-gYaOxUJzGcMKMrDdMou7mb66RVqChzSA1mc69O1zQv0=";
+    hash = "sha256-Ej8ya2sKtRVRQdMr63YpPbqzwtV0ZsqO+7xiif3gFr0=";
   };
 
-  vendorHash = "sha256-+bWw4/ZqMeqnkXnV+vwq2mxgvew0KmLwNcu/xA2l4HI=";
+  vendorHash = "sha256-OKTRxExgJ2V3736fIVvQX3FEa44jGngwCi2D/uk0F58=";
 
   subPackages = [
     "cmd/protoc-gen-connect-go"
diff --git a/pkgs/development/tools/protoc-gen-dart/default.nix b/pkgs/development/tools/protoc-gen-dart/default.nix
index b09322e297014..06a96e70cf3e7 100644
--- a/pkgs/development/tools/protoc-gen-dart/default.nix
+++ b/pkgs/development/tools/protoc-gen-dart/default.nix
@@ -17,6 +17,8 @@ buildDartApplication rec {
 
   pubspecLock = lib.importJSON ./pubspec.lock.json;
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "Protobuf plugin for generating Dart code";
     mainProgram = "protoc-gen-dart";
diff --git a/pkgs/development/tools/protoc-gen-dart/update.sh b/pkgs/development/tools/protoc-gen-dart/update.sh
new file mode 100755
index 0000000000000..5bea5f3bea84c
--- /dev/null
+++ b/pkgs/development/tools/protoc-gen-dart/update.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p yq ripgrep common-updater-scripts dart
+
+set -xeu -o pipefail
+
+PACKAGE_DIR="$(realpath "$(dirname "$0")")"
+cd "$PACKAGE_DIR/.."
+while ! test -f flake.nix; do cd .. ; done
+NIXPKGS_DIR="$PWD"
+
+version="$(
+  list-git-tags --url=https://github.com/google/protobuf.dart \
+  | rg '^protobuf-v(.*)' -r '$1' \
+  | sort --version-sort \
+  | tail -n1
+)"
+
+cd "$NIXPKGS_DIR"
+update-source-version protoc-gen-dart "$version"
+
+TMPDIR="$(mktemp -d)"
+cd "$TMPDIR"
+
+src="$(nix-build --no-link "$NIXPKGS_DIR" -A protoc-gen-dart.src)/protoc_plugin"
+cp $src/pubspec.* .
+
+if ! test -f pubspec.lock; then
+  dart pub update
+fi
+
+yq . pubspec.lock > "$PACKAGE_DIR/pubspec.lock.json"
+
+rm -rf "$TMPDIR"
diff --git a/pkgs/development/tools/protoc-gen-go-grpc/default.nix b/pkgs/development/tools/protoc-gen-go-grpc/default.nix
index 1cf06dd34e217..34d5f22d821fc 100644
--- a/pkgs/development/tools/protoc-gen-go-grpc/default.nix
+++ b/pkgs/development/tools/protoc-gen-go-grpc/default.nix
@@ -18,7 +18,7 @@ buildGoModule rec {
   vendorHash = "sha256-y+/hjYUTFZuq55YAZ5M4T1cwIR+XFQBmWVE+Cg1Y7PI=";
 
   meta = with lib; {
-    description = "The Go language implementation of gRPC. HTTP/2 based RPC";
+    description = "Go language implementation of gRPC. HTTP/2 based RPC";
     mainProgram = "protoc-gen-go-grpc";
     license = licenses.asl20;
     maintainers = [ maintainers.raboof ];
diff --git a/pkgs/development/tools/protoc-gen-go-vtproto/default.nix b/pkgs/development/tools/protoc-gen-go-vtproto/default.nix
index 85816b725f345..11764e7e8e3c3 100644
--- a/pkgs/development/tools/protoc-gen-go-vtproto/default.nix
+++ b/pkgs/development/tools/protoc-gen-go-vtproto/default.nix
@@ -18,7 +18,7 @@ buildGoModule rec {
   excludedPackages = [ "conformance" ];
 
   meta = with lib; {
-    description = "A Protocol Buffers compiler that generates optimized marshaling & unmarshaling Go code for ProtoBuf APIv2";
+    description = "Protocol Buffers compiler that generates optimized marshaling & unmarshaling Go code for ProtoBuf APIv2";
     mainProgram = "protoc-gen-go-vtproto";
     homepage = "https://github.com/planetscale/vtprotobuf";
     license = licenses.bsd3;
diff --git a/pkgs/development/tools/protoc-gen-go/default.nix b/pkgs/development/tools/protoc-gen-go/default.nix
index 626d80eef5777..cd2d261aa7218 100644
--- a/pkgs/development/tools/protoc-gen-go/default.nix
+++ b/pkgs/development/tools/protoc-gen-go/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "protoc-gen-go";
-  version = "1.33.0";
+  version = "1.34.1";
 
   src = fetchFromGitHub {
     owner = "protocolbuffers";
     repo = "protobuf-go";
     rev = "v${version}";
-    sha256 = "sha256-hA/UweNQSVzMeauIol73p9yYYCvnLcZNTYMrRWk9dBg=";
+    hash = "sha256-xbfqN/t6q5dFpg1CkxwxAQkUs8obfckMDqytYzuDwF4=";
   };
 
   vendorHash = "sha256-nGI/Bd6eMEoY0sBwWEtyhFowHVvwLKjbT4yfzFz6Z3E=";
diff --git a/pkgs/development/tools/protoc-gen-prost-crate/default.nix b/pkgs/development/tools/protoc-gen-prost-crate/default.nix
deleted file mode 100644
index 1a2a1450a4bce..0000000000000
--- a/pkgs/development/tools/protoc-gen-prost-crate/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ fetchCrate
-, lib
-, rustPlatform
-, protobuf
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "protoc-gen-prost-crate";
-  version = "0.3.1";
-
-  src = fetchCrate {
-    inherit pname version;
-    sha256 = "sha256-MtGeU2PnVYPXb3nly2UaryjmjMz1lxcvYDjFiwf58FA=";
-  };
-
-  cargoSha256 = "sha256-dcKJRX/iHIWEmBD2nTMyQozxld8b7dhxxB85quPUysg=";
-
-  meta = with lib; {
-    description = "A protoc plugin that generates Cargo crates and include files for `protoc-gen-prost`";
-    mainProgram = "protoc-gen-prost-crate";
-    homepage = "https://github.com/neoeinstein/protoc-gen-prost";
-    changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ felschr sitaaax ];
-  };
-}
diff --git a/pkgs/development/tools/protoc-gen-prost-serde/default.nix b/pkgs/development/tools/protoc-gen-prost-serde/default.nix
deleted file mode 100644
index 7ee87e622119f..0000000000000
--- a/pkgs/development/tools/protoc-gen-prost-serde/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ fetchCrate
-, lib
-, rustPlatform
-, protobuf
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "protoc-gen-prost-serde";
-  version = "0.2.3";
-
-  src = fetchCrate {
-    inherit pname version;
-    sha256 = "sha256-V2Z6m9y/bBwrr1mgKXKZjVg+LqTe+GalN/AeaICyE64=";
-  };
-
-  cargoSha256 = "sha256-l27+Rs4TYIJXZVLj7Tjw8M5+7ivWEY0TXbLtbuzwxLw=";
-
-  meta = with lib; {
-    description = "A protoc plugin that generates serde serialization implementations for `protoc-gen-prost`";
-    mainProgram = "protoc-gen-prost-serde";
-    homepage = "https://github.com/neoeinstein/protoc-gen-prost";
-    changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ felschr sitaaax ];
-  };
-}
diff --git a/pkgs/development/tools/protoc-gen-prost/default.nix b/pkgs/development/tools/protoc-gen-prost/default.nix
deleted file mode 100644
index 6012af0acf3c2..0000000000000
--- a/pkgs/development/tools/protoc-gen-prost/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ fetchCrate
-, lib
-, rustPlatform
-, protobuf
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "protoc-gen-prost";
-  version = "0.2.3";
-
-  src = fetchCrate {
-    inherit pname version;
-    sha256 = "sha256-QTt5mSUe41r2fxrgWj1l6fHC/utMVIgMi2ySsdGyl/Y=";
-  };
-
-  cargoSha256 = "sha256-ghXcyxG9zqUOFKGvUza29OgC3XiEtesqsAsfI/lFT08=";
-
-  meta = with lib; {
-    description = "Protocol Buffers compiler plugin powered by Prost";
-    mainProgram = "protoc-gen-prost";
-    homepage = "https://github.com/neoeinstein/protoc-gen-prost";
-    changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ felschr sitaaax ];
-  };
-}
diff --git a/pkgs/development/tools/protoc-gen-rust/default.nix b/pkgs/development/tools/protoc-gen-rust/default.nix
deleted file mode 100644
index bba32dd81a4ed..0000000000000
--- a/pkgs/development/tools/protoc-gen-rust/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ fetchCrate
-, lib
-, rustPlatform
-, protobuf
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "protoc-gen-rust";
-  version = "3.2.0";
-
-  src = fetchCrate {
-    inherit version;
-    pname = "protobuf-codegen";
-    sha256 = "sha256-9Rf7GI/qxoqlISD169TJwUVAdJn8TpxTXDNxiQra2UY=";
-  };
-
-  cargoSha256 = "sha256-i1ZIEbU6tw7xA1w+ffD/h1HIkOwVep9wQJys9Bydvv0=";
-
-  cargoBuildFlags = ["--bin" pname];
-
-  nativeBuildInputs = [ protobuf ];
-
-  meta = with lib; {
-    description = "Protobuf plugin for generating Rust code";
-    mainProgram = "protoc-gen-rust";
-    homepage = "https://github.com/stepancheg/rust-protobuf";
-    license = licenses.mit;
-    maintainers = with maintainers; [ lucperkins ];
-  };
-}
diff --git a/pkgs/development/tools/protoc-gen-tonic/default.nix b/pkgs/development/tools/protoc-gen-tonic/default.nix
deleted file mode 100644
index fc5e98b49b405..0000000000000
--- a/pkgs/development/tools/protoc-gen-tonic/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ fetchCrate
-, lib
-, rustPlatform
-, protobuf
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "protoc-gen-tonic";
-  version = "0.3.0";
-
-  src = fetchCrate {
-    inherit pname version;
-    sha256 = "sha256-jgU1XvUxIrZ72dLNPqDGHCONMlHsjW4k4vkO626iqxs=";
-  };
-
-  cargoSha256 = "sha256-FrkvL/uJitMkSyOytVSmlwr26yMVM12S2n+EaSw11CE=";
-
-  meta = with lib; {
-    description = "A protoc plugin that generates Tonic gRPC server and client code using the Prost code generation engine";
-    mainProgram = "protoc-gen-tonic";
-    homepage = "https://github.com/neoeinstein/protoc-gen-prost";
-    changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ felschr sitaaax ];
-  };
-}
diff --git a/pkgs/development/tools/protoc-gen-twirp/default.nix b/pkgs/development/tools/protoc-gen-twirp/default.nix
index 76ce9a922cc91..4f59af22d6e9c 100644
--- a/pkgs/development/tools/protoc-gen-twirp/default.nix
+++ b/pkgs/development/tools/protoc-gen-twirp/default.nix
@@ -1,6 +1,6 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "protoc-gen-twirp";
   version = "8.1.3";
 
@@ -11,16 +11,18 @@ buildGoPackage rec {
     sha256 = "sha256-p3gHVHGBHakOOQnJAuMK7vZumNXN15mOABuEHUG0wNs=";
   };
 
-  goPackagePath = "github.com/twitchtv/twirp";
+  postPatch = ''
+    go mod init github.com/twitchtv/twirp
+  '';
+
+  vendorHash = null;
 
   subPackages = [
     "protoc-gen-twirp"
   ];
 
-  doCheck = true;
-
   meta = with lib; {
-    description = "A simple RPC framework with protobuf service definitions";
+    description = "Simple RPC framework with protobuf service definitions";
     mainProgram = "protoc-gen-twirp";
     homepage = "https://github.com/twitchtv/twirp";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/protoc-gen-twirp_php/default.nix b/pkgs/development/tools/protoc-gen-twirp_php/default.nix
index 7fc04ae81ae3f..6833bd9a65a49 100644
--- a/pkgs/development/tools/protoc-gen-twirp_php/default.nix
+++ b/pkgs/development/tools/protoc-gen-twirp_php/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "protoc-gen-twirp_php";
-  version = "0.10.0";
+  version = "0.11.0";
 
   # fetchFromGitHub currently not possible, because go.mod and go.sum are export-ignored
   src = fetchgit {
     url = "https://github.com/twirphp/twirp.git";
     rev = "v${version}";
-    sha256 = "sha256-YMndB5DiER2Z1ARbw2cpxE1DBFCoVNWhMdsfA3X27EE=";
+    sha256 = "sha256-LUFwmxlbZVTlEyp82lm3ylh6KYtVlviYK13pxj4MH0M=";
   };
 
-  vendorHash = "sha256-Gf8thGuFAKX4pCNFJM3RbJ63vciLNcSqpOULcUOaGNw=";
+  vendorHash = "sha256-BPvKRIYvIxen0m8C9geFC4gIq4VH8mmdI0ZLMnlBB/I=";
 
   subPackages = [ "protoc-gen-twirp_php" ];
 
diff --git a/pkgs/development/tools/protolint/default.nix b/pkgs/development/tools/protolint/default.nix
index 7da6f7851f798..6fecadca5e7ae 100644
--- a/pkgs/development/tools/protolint/default.nix
+++ b/pkgs/development/tools/protolint/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "protolint";
-  version = "0.49.7";
+  version = "0.49.8";
 
   src = fetchFromGitHub {
     owner = "yoheimuta";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-XXF37r9p6cAU7q3bOzkwPpy2kKXKhp944d22jtJox7k=";
+    hash = "sha256-x4xjFXpyuZRBcE6I+s3GCJmTg/nm9lHHnXNAKOFA5RQ=";
   };
 
-  vendorHash = "sha256-JmS80vAFP9tIyGjvASAEEY+0tk3SpNqXdZajvi9mH5E=";
+  vendorHash = "sha256-xHBiY2SHprGxmjaNqHPUMc0oa4iQ9L3X8ydvEiG5om4=";
 
   # Something about the way we run tests causes issues. It doesn't happen
   # when using "go test" directly:
@@ -30,7 +30,7 @@ buildGoModule rec {
   ];
 
   meta = with lib; {
-    description = "A pluggable linter and fixer to enforce Protocol Buffer style and conventions";
+    description = "Pluggable linter and fixer to enforce Protocol Buffer style and conventions";
     homepage = "https://github.com/yoheimuta/protolint";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/development/tools/pry/default.nix b/pkgs/development/tools/pry/default.nix
index c39af508591fa..209d61e23c5e8 100644
--- a/pkgs/development/tools/pry/default.nix
+++ b/pkgs/development/tools/pry/default.nix
@@ -8,7 +8,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "pry";
 
   meta = with lib; {
-    description = "A Ruby runtime developer console and IRB alternative";
+    description = "Ruby runtime developer console and IRB alternative";
     homepage    = "https://pryrepl.org";
     license     = licenses.mit;
     maintainers = [ maintainers.tckmn ];
diff --git a/pkgs/development/tools/pscale/default.nix b/pkgs/development/tools/pscale/default.nix
index 45850671be0d9..e719fb7691b9a 100644
--- a/pkgs/development/tools/pscale/default.nix
+++ b/pkgs/development/tools/pscale/default.nix
@@ -40,7 +40,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "The CLI for PlanetScale Database";
+    description = "CLI for PlanetScale Database";
     mainProgram = "pscale";
     changelog = "https://github.com/planetscale/cli/releases/tag/v${version}";
     homepage = "https://www.planetscale.com/";
diff --git a/pkgs/development/tools/pur/default.nix b/pkgs/development/tools/pur/default.nix
index 6c33f5f0016e6..3b79fbc2ce163 100644
--- a/pkgs/development/tools/pur/default.nix
+++ b/pkgs/development/tools/pur/default.nix
@@ -5,17 +5,21 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "pur";
-  version = "7.3.1";
-  format = "setuptools";
+  version = "7.3.2";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "alanhamlett";
     repo = "pip-update-requirements";
     rev = "refs/tags/${version}";
-    hash = "sha256-W6otdj1C3Nn3DUvwp9MPqMo2y4ITqgYrqlW/uxIj2YA=";
+    hash = "sha256-XLI9U9ej3+tS0zzmCDGwZ0pAb3mKnrqBtm90f5N6rMw=";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [
+  build-system = with python3.pkgs; [
+    setuptools
+  ];
+
+  dependencies = with python3.pkgs; [
     click
   ];
 
@@ -29,10 +33,10 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Python library for update and track the requirements";
-    mainProgram = "pur";
     homepage = "https://github.com/alanhamlett/pip-update-requirements";
     changelog = "https://github.com/alanhamlett/pip-update-requirements/blob/${version}/HISTORY.rst";
-    license = with licenses; [ bsd2 ];
+    license = licenses.bsd2;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "pur";
   };
 }
diff --git a/pkgs/development/tools/purescript/spago/default.nix b/pkgs/development/tools/purescript/spago/default.nix
index 82d3be2fd4691..b9d97c351b6d7 100644
--- a/pkgs/development/tools/purescript/spago/default.nix
+++ b/pkgs/development/tools/purescript/spago/default.nix
@@ -1,7 +1,9 @@
 { haskell
+, haskellPackages
 , lib
 
 # The following are only needed for the passthru.tests:
+, spago
 , cacert
 , git
 , nodejs
@@ -9,53 +11,47 @@
 , runCommand
 }:
 
-let
-  spago =
-    lib.pipe
-      haskell.packages.ghc90.spago
-      [ haskell.lib.compose.justStaticExecutables
-        (haskell.lib.compose.overrideCabal (oldAttrs: {
-          changelog = "https://github.com/purescript/spago/releases/tag/${oldAttrs.version}";
-        }))
-      ];
-in
+lib.pipe
+  haskellPackages.spago
+  [
+    haskell.lib.compose.justStaticExecutables
 
-spago.overrideAttrs (oldAttrs: {
-  passthru = (oldAttrs.passthru or {}) // {
-    updateScript = ./update.sh;
+    (haskell.lib.compose.overrideCabal (oldAttrs: {
+      changelog = "https://github.com/purescript/spago/releases/tag/${oldAttrs.version}";
 
-    # These tests can be run with the following command.  The tests access the
-    # network, so they cannot be run in the nix sandbox.  sudo is needed in
-    # order to change the sandbox option.
-    #
-    # $ sudo nix-build -A spago.passthru.tests --option sandbox relaxed
-    #
-    tests =
-      runCommand
-        "spago-tests"
-        {
-          __noChroot = true;
-          nativeBuildInputs = [
-            cacert
-            git
-            nodejs
-            purescript
-            spago
-          ];
-        }
-        ''
-          # spago expects HOME to be set because it creates a cache file under
-          # home.
-          HOME=$(pwd)
+      passthru = (oldAttrs.passthru or {}) // {
+        updateScript = ./update.sh;
 
-          spago --verbose init
-          spago --verbose build
-          spago --verbose test
+        # These tests can be run with the following command.  The tests access the
+        # network, so they cannot be run in the nix sandbox.  sudo is needed in
+        # order to change the sandbox option.
+        #
+        # $ sudo nix-build -A spago.passthru.tests --option sandbox relaxed
+        #
+        tests =
+          runCommand
+            "spago-tests"
+            {
+              __noChroot = true;
+              nativeBuildInputs = [
+                cacert
+                git
+                nodejs
+                purescript
+                spago
+              ];
+            }
+            ''
+              # spago expects HOME to be set because it creates a cache file under
+              # home.
+              HOME=$(pwd)
 
-          touch $out
-        '';
-  };
-  meta = (oldAttrs.meta or {}) // {
-    mainProgram = "spago";
-  };
-})
+              spago --verbose init
+              spago --verbose build
+              spago --verbose test
+
+              touch $out
+            '';
+      };
+    }))
+  ]
diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix
index e3636e16f58cf..d0455081111fa 100644
--- a/pkgs/development/tools/purescript/spago/spago.nix
+++ b/pkgs/development/tools/purescript/spago/spago.nix
@@ -9,16 +9,16 @@
 , optparse-applicative, prettyprinter, process, QuickCheck, retry
 , rio, rio-orphans, safe, semver-range, stm, stringsearch, tar
 , template-haskell, temporary, text, time, transformers, turtle
-, unliftio, unordered-containers, utf8-string, versions, with-utf8
-, zlib
+, unliftio, unordered-containers, uri-encode, utf8-string, versions
+, with-utf8, yaml, zlib
 }:
 mkDerivation {
   pname = "spago";
-  version = "0.20.9";
+  version = "0.21.0";
   src = fetchgit {
     url = "https://github.com/purescript/spago.git";
-    sha256 = "00vdqg7vaw3d9zwh47886lw9fhhlwjagzhaj3aqz4xm92pjavhih";
-    rev = "d16d4914200783fbd820ba89dbdf67270454faf5";
+    sha256 = "1v5y15nhw6smnir0y7y854pa70iv8asxsqph2y8rz1c9lkz5d41g";
+    rev = "c354f4a461f65fcb83aaa843830ea1589f6c7179";
     fetchSubmodules = true;
   };
   isLibrary = true;
@@ -31,7 +31,7 @@ mkDerivation {
     optparse-applicative prettyprinter process retry rio rio-orphans
     safe semver-range stm stringsearch tar template-haskell temporary
     text time transformers turtle unliftio unordered-containers
-    utf8-string versions with-utf8 zlib
+    uri-encode utf8-string versions with-utf8 yaml zlib
   ];
   executableHaskellDepends = [
     ansi-terminal base text turtle with-utf8
@@ -43,4 +43,5 @@ mkDerivation {
   testToolDepends = [ hspec-discover ];
   homepage = "https://github.com/purescript/spago#readme";
   license = lib.licenses.bsd3;
+  mainProgram = "spago";
 }
diff --git a/pkgs/development/tools/pyenv/default.nix b/pkgs/development/tools/pyenv/default.nix
index f55d7bb8fcd0a..9f761ef0be276 100644
--- a/pkgs/development/tools/pyenv/default.nix
+++ b/pkgs/development/tools/pyenv/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pyenv";
-  version = "2.4.0";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "pyenv";
     repo = "pyenv";
     rev = "refs/tags/v${version}";
-    hash = "sha256-urF0glUR6W2jtT3Ek3OpbpmImiQrwHGbS1/pGuTcgyA=";
+    hash = "sha256-jYBKTrpc3KI1iW/VCw4Udk4TS8dXFGg5WgbEWZ+vWqE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/pypi-mirror/default.nix b/pkgs/development/tools/pypi-mirror/default.nix
index 9eafecca465d7..9ed9a85ad54ee 100644
--- a/pkgs/development/tools/pypi-mirror/default.nix
+++ b/pkgs/development/tools/pypi-mirror/default.nix
@@ -16,7 +16,7 @@ python3.pkgs.buildPythonApplication rec {
   pythonImportsCheck = [ "pypi_mirror" ];
 
   meta = with lib; {
-    description = "A script to create a partial PyPI mirror";
+    description = "Script to create a partial PyPI mirror";
     mainProgram = "pypi-mirror";
     homepage = "https://github.com/montag451/pypi-mirror";
     license = licenses.mit;
diff --git a/pkgs/development/tools/qtcreator/default.nix b/pkgs/development/tools/qtcreator/default.nix
index 3843a989ec0b8..ef3d61e60f77e 100644
--- a/pkgs/development/tools/qtcreator/default.nix
+++ b/pkgs/development/tools/qtcreator/default.nix
@@ -30,11 +30,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qtcreator";
-  version = "13.0.0";
+  version = "13.0.2";
 
   src = fetchurl {
     url = "https://download.qt.io/official_releases/${pname}/${lib.versions.majorMinor version}/${version}/qt-creator-opensource-src-${version}.tar.xz";
-    hash = "sha256-7BTwXycHFEVaLw1AuKqwLtkkHU+k8D6lOb/sWBnp4DY=";
+    hash = "sha256-wSXMVSJhnH+PwoBadQq5bLu1al/fw4i2yxWrda9+wM4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/railway/default.nix b/pkgs/development/tools/railway/default.nix
index 32be89b90d189..c9e219f82bd47 100644
--- a/pkgs/development/tools/railway/default.nix
+++ b/pkgs/development/tools/railway/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "railway";
-  version = "3.7.0";
+  version = "3.9.0";
 
   src = fetchFromGitHub {
     owner = "railwayapp";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-a3d1FtcXSLL8peveBagTEF6EcNADNDhnLAmyCfTW4+4=";
+    hash = "sha256-eMbeU9DflGXQRqoXnTlMmCJUsCvAywjmckDqxhT+LD8=";
   };
 
-  cargoHash = "sha256-fwraQd7dOamhc3Tp3yLxASWCVhDOxj4vX7oTTOufkeY=";
+  cargoHash = "sha256-rYHvvGyD49+n7DHHd0CKCwd6w5WgWONWGxW2vXm7DL4=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rain/default.nix b/pkgs/development/tools/rain/default.nix
index 8132c23704585..37fa945dd95a8 100644
--- a/pkgs/development/tools/rain/default.nix
+++ b/pkgs/development/tools/rain/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "rain";
-  version = "1.8.6";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "aws-cloudformation";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wQ767MgLSdcNm3Z1HL8VgmUk2tMFmIyACMaMhPr4lmY=";
+    sha256 = "sha256-2W/Ytdnzb0+EAPsuN6LXX0eLQMOu3qetJKYvKzgB0jM=";
   };
 
-  vendorHash = "sha256-SXgyxf8pqSZzlMoOissGLBfeXueY4aSkCcd7ahT2KMA=";
+  vendorHash = "sha256-Hpggkx707IX5ZUBuynQukCShk0pp12YEJYOF3eEN+5I=";
 
   subPackages = [ "cmd/rain" ];
 
@@ -29,7 +29,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A development workflow tool for working with AWS CloudFormation";
+    description = "Development workflow tool for working with AWS CloudFormation";
     mainProgram = "rain";
     homepage = "https://github.com/aws-cloudformation/rain";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/rbspy/default.nix b/pkgs/development/tools/rbspy/default.nix
index 6ae0df232727d..b37f745e6808d 100644
--- a/pkgs/development/tools/rbspy/default.nix
+++ b/pkgs/development/tools/rbspy/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rbspy";
-  version = "0.19.1";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "rbspy";
     repo = "rbspy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2+miC7cp6YbeI7uucFlSdlDpPboJOhhBq7/eqXxZVqs=";
+    hash = "sha256-MZ6SN/zrcIKnpm2o5w6d5Vx0YmeuS+zMfsPdZmRKewY=";
   };
 
-  cargoHash = "sha256-I+nh6cKniPIG5VYMMsABZNSP/c3DLWswsjenaQBh/X8=";
+  cargoHash = "sha256-+Jb+btXU+fsVXWCmafY5ZaGLvFIA/wFzVNkO0O8QaVw=";
 
   # error: linker `aarch64-linux-gnu-gcc` not found
   postPatch = ''
@@ -53,7 +53,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     homepage = "https://rbspy.github.io/";
-    description = "A Sampling CPU Profiler for Ruby";
+    description = "Sampling CPU Profiler for Ruby";
     mainProgram = "rbspy";
     changelog = "https://github.com/rbspy/rbspy/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/rcodesign/default.nix b/pkgs/development/tools/rcodesign/default.nix
index e3999ebff952d..72c261cfa0ed5 100644
--- a/pkgs/development/tools/rcodesign/default.nix
+++ b/pkgs/development/tools/rcodesign/default.nix
@@ -34,7 +34,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A cross-platform CLI interface to interact with Apple code signing.";
+    description = "Cross-platform CLI interface to interact with Apple code signing";
     mainProgram = "rcodesign";
     longDescription = ''
       rcodesign provides various commands to interact with Apple signing,
diff --git a/pkgs/development/tools/react-native-debugger/default.nix b/pkgs/development/tools/react-native-debugger/default.nix
index b11e1da40b364..f0383d5c9abdc 100644
--- a/pkgs/development/tools/react-native-debugger/default.nix
+++ b/pkgs/development/tools/react-native-debugger/default.nix
@@ -110,7 +110,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/jhen0409/react-native-debugger";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.mit;
-    description = "The standalone app based on official debugger of React Native, and includes React Inspector / Redux DevTools";
+    description = "Standalone app based on official debugger of React Native, and includes React Inspector / Redux DevTools";
     mainProgram = "react-native-debugger";
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/tools/react-static/default.nix b/pkgs/development/tools/react-static/default.nix
index d4552f68761a5..ea21f3ca3e4cf 100644
--- a/pkgs/development/tools/react-static/default.nix
+++ b/pkgs/development/tools/react-static/default.nix
@@ -46,7 +46,7 @@ mkYarnPackage rec {
 
   meta = {
     changelog = "https://github.com/react-static/react-static/blob/${src.rev}/CHANGELOG.md";
-    description = "A progressive static site generator for React";
+    description = "Progressive static site generator for React";
     homepage = "https://github.com/react-static/react-static";
     license = lib.licenses.mit;
     mainProgram = "react-static";
diff --git a/pkgs/development/tools/redisinsight/default.nix b/pkgs/development/tools/redisinsight/default.nix
index 1131e495e86c2..4395bc7a040eb 100644
--- a/pkgs/development/tools/redisinsight/default.nix
+++ b/pkgs/development/tools/redisinsight/default.nix
@@ -24,28 +24,28 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "redisinsight";
-  version = "2.32";
+  version = "2.48.0";
 
   src = fetchFromGitHub {
     owner = "RedisInsight";
     repo = "RedisInsight";
     rev = finalAttrs.version;
-    hash = "sha256-esaH10AyEooym/62F5LJL7oP5UmD6T2UX8g/9QniL9s=";
+    hash = "sha256-ek0Fp8v6j+mZPK2cEuFNrBgInXdYIKBBUg0UD1I51Sg=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = finalAttrs.src + "/yarn.lock";
-    hash = "sha256-NHKttywAaWAYkciGzYCnm1speHrWsv1t+dxL1DZgM7o=";
+    hash = "sha256-ohtU1h6wrg7asXDxTt1Jlzx9GaS3zDrGQD9P9tgzCOE=";
   };
 
   feOfflineCache = fetchYarnDeps {
     yarnLock = finalAttrs.src + "/redisinsight/yarn.lock";
-    hash = "sha256-1S1KNUOtmywQ0eyqVS2oRlhpjcL9eps8CR7AtC9ujSU=";
+    hash = "sha256-9xbIdDeLUEk4eNeK7RTwidqDGinA8SPfcumqml66kTw=";
   };
 
   apiOfflineCache = fetchYarnDeps {
     yarnLock = finalAttrs.src + "/redisinsight/api/yarn.lock";
-    hash = "sha256-P99+1Dhdg/vznC2KepPrVGNlrofJFydXkZVxgwprIx4=";
+    hash = "sha256-4zbffuneTceMEyKb8atTXTFhTv0DhrsRMdepZWgoxMQ=";
   };
 
   nativeBuildInputs = [
@@ -163,7 +163,6 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/RedisInsight/RedisInsight";
     license = lib.licenses.sspl;
     maintainers = with lib.maintainers; [
-      gmemstr
       tomasajt
     ];
     platforms = lib.platforms.linux;
diff --git a/pkgs/development/tools/refinery-cli/default.nix b/pkgs/development/tools/refinery-cli/default.nix
deleted file mode 100644
index 609a2618f86c7..0000000000000
--- a/pkgs/development/tools/refinery-cli/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ fetchCrate, lib, stdenv, openssl, pkg-config, rustPlatform, darwin }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "refinery-cli";
-  version = "0.8.14";
-
-  src = fetchCrate {
-    pname = "refinery_cli";
-    inherit version;
-    sha256 = "sha256-gHW+5WWzk1H2O5B2sWdl6QcOeUbNvbdZZBD10SmE1GA=";
-  };
-
-  cargoHash = "sha256-Go7+LZSze/IrNwEl+11Dm5O9RcREyPSkHPjlE9SPO70=";
-
-  nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ];
-
-  meta = with lib; {
-    description = "Run migrations for the Refinery ORM for Rust via the CLI";
-    mainProgram = "refinery";
-    homepage = "https://github.com/rust-db/refinery";
-    changelog = "https://github.com/rust-db/refinery/blob/${version}/CHANGELOG.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ lucperkins ];
-  };
-}
diff --git a/pkgs/development/tools/reflex/default.nix b/pkgs/development/tools/reflex/default.nix
index 98cb6141003cb..0c536d2114217 100644
--- a/pkgs/development/tools/reflex/default.nix
+++ b/pkgs/development/tools/reflex/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
-    description = "A small tool to watch a directory and rerun a command when certain files change";
+    description = "Small tool to watch a directory and rerun a command when certain files change";
     mainProgram = "reflex";
     homepage = "https://github.com/cespare/reflex";
     license = licenses.mit;
diff --git a/pkgs/development/tools/refurb/default.nix b/pkgs/development/tools/refurb/default.nix
index a51f15ce5b8e5..a5c5d0d62247f 100644
--- a/pkgs/development/tools/refurb/default.nix
+++ b/pkgs/development/tools/refurb/default.nix
@@ -55,7 +55,7 @@ python3Packages.buildPythonApplication rec {
   ];
 
   meta = with lib; {
-    description = "A tool for refurbishing and modernizing Python codebases";
+    description = "Tool for refurbishing and modernizing Python codebases";
     mainProgram = "refurb";
     homepage = "https://github.com/dosisod/refurb";
     license = with licenses; [ gpl3Only ];
diff --git a/pkgs/development/tools/regclient/default.nix b/pkgs/development/tools/regclient/default.nix
index 9016f4704bc5b..207060f1ffa8a 100644
--- a/pkgs/development/tools/regclient/default.nix
+++ b/pkgs/development/tools/regclient/default.nix
@@ -12,16 +12,16 @@ let bins = [ "regbot" "regctl" "regsync" ]; in
 
 buildGoModule rec {
   pname = "regclient";
-  version = "0.5.7";
+  version = "0.6.1";
   tag = "v${version}";
 
   src = fetchFromGitHub {
     owner = "regclient";
     repo = "regclient";
     rev = tag;
-    sha256 = "sha256-GT8SJg24uneEbV8WY8Wl2w3lxqLJ7pFCa+654ksBfG4=";
+    sha256 = "sha256-0TeqZeW2HTjHyHyO8EhmOUCaLTq/XpWTPQMKh58VH8M=";
   };
-  vendorHash = "sha256-cxydurN45ovb4XngG4L/K6L+QMfsaRBZhfLYzKohFNY=";
+  vendorHash = "sha256-cKpsgT/YOyNEV8OQdclZnDmGKCrUjNeZCOd0zQ/bvL8=";
 
   outputs = [ "out" ] ++ bins;
 
@@ -52,6 +52,11 @@ buildGoModule rec {
     '')
     bins;
 
+  checkFlags = [
+    # touches network
+    "-skip=^ExampleNew$"
+  ];
+
   passthru.tests = lib.mergeAttrsList (
     map
       (bin: {
diff --git a/pkgs/development/tools/reindeer/default.nix b/pkgs/development/tools/reindeer/default.nix
index 8b6925e860e25..a11f60bf99c4a 100644
--- a/pkgs/development/tools/reindeer/default.nix
+++ b/pkgs/development/tools/reindeer/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "reindeer";
-  version = "2024.03.11.00";
+  version = "2024.06.17.00";
 
   src = fetchFromGitHub {
     owner = "facebookincubator";
     repo = "reindeer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-cClbSJuEs4yIjx+13GSIevZO2PWEEHVDaMEmf729keA=";
+    hash = "sha256-J3ZrlX83TE63Go4qp+lMhexkuaV0ZgHNYga8qxZF0wI=";
   };
 
-  cargoHash = "sha256-TtbkzU48j3dmqRocJdY8KJz/3YHYIi3SZYM/eB9zoIg=";
+  cargoHash = "sha256-xqDMfGNvlyFo3v9GmESfRG+WyQKbzTojOqtYK/tMPxo=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs =
@@ -30,9 +30,7 @@ rustPlatform.buildRustPackage rec {
       darwin.apple_sdk.frameworks.CoreServices
     ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [ "--version" "branch" ];
-  };
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "Reindeer is a tool which takes Rust Cargo dependencies and generates Buck build rules";
diff --git a/pkgs/development/tools/relic/default.nix b/pkgs/development/tools/relic/default.nix
index 2fa4fcb13571d..3a66444f345cb 100644
--- a/pkgs/development/tools/relic/default.nix
+++ b/pkgs/development/tools/relic/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "relic";
-  version = "7.6.2";
+  version = "8.0.1";
 
   src = fetchFromGitHub {
     owner = "sassoftware";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-T76+Ftky1rSIqEoKE3RLsf6g2gguVJgYFflWmyEhdEk=";
+    sha256 = "sha256-w7KU3XntkKep0mcuOUBSG4fJW14yCamioeRH5YrULSo=";
   };
 
-  vendorHash = "sha256-5mgqIw3BV88rEF3ALD3pLhm658yUUFf44hQFSw085cU=";
+  vendorHash = "sha256-/P4W+smY01feV1HP5Tsx0PsoOyp//ik7RVWuEaiSepY=";
 
   ldflags = [
     "-s"
@@ -33,7 +33,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/sassoftware/relic";
-    description = "A service and a tool for adding digital signatures to operating system packages for Linux and Windows";
+    description = "Service and a tool for adding digital signatures to operating system packages for Linux and Windows";
     mainProgram = "relic";
     license = licenses.asl20;
     maintainers = with maintainers; [ strager ];
diff --git a/pkgs/development/tools/renderdoc/default.nix b/pkgs/development/tools/renderdoc/default.nix
index a5bc15ef3165f..843e4fe2c6758 100644
--- a/pkgs/development/tools/renderdoc/default.nix
+++ b/pkgs/development/tools/renderdoc/default.nix
@@ -32,13 +32,13 @@ let
 in
 mkDerivation rec {
   pname = "renderdoc";
-  version = "1.32";
+  version = "1.33";
 
   src = fetchFromGitHub {
     owner = "baldurk";
     repo = "renderdoc";
     rev = "v${version}";
-    sha256 = "sha256-8Q2QMANieY/Bvb50NtlZEN/Nmd6xurU6AJU0Uo8qDTs=";
+    sha256 = "sha256-BQR7ENgdblzamO5GgtLJriNiJFICsj0/iWVn1usxBjU=";
   };
 
   buildInputs = [
@@ -85,7 +85,7 @@ mkDerivation rec {
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
-    description = "A single-frame graphics debugger";
+    description = "Single-frame graphics debugger";
     homepage = "https://renderdoc.org/";
     license = licenses.mit;
     longDescription = ''
diff --git a/pkgs/development/tools/replay-io/default.nix b/pkgs/development/tools/replay-io/default.nix
index aafee56e2bd0f..51daef23b5278 100644
--- a/pkgs/development/tools/replay-io/default.nix
+++ b/pkgs/development/tools/replay-io/default.nix
@@ -52,7 +52,7 @@ in rec {
     passthru.updateScript = ./update.sh;
 
     meta = with lib; {
-      description = "The Time Travel Debugger for Web Development";
+      description = "Time Travel Debugger for Web Development";
       longDescription = ''
         Replay allows you to record and replay web applications with familiar browser dev tools.
         You can access the browser DevTools at any point of the recording, adding new logger
@@ -128,7 +128,7 @@ in rec {
     '';
 
     meta = with lib; {
-      description = "The Time Travel Debugger for Web Development - Node Command Line";
+      description = "Time Travel Debugger for Web Development - Node Command Line";
       longDescription = ''
         The Replay Node Command Line allows you to record node applications and debug them
         with familiar browser dev tools.
diff --git a/pkgs/development/tools/repository-managers/nexus/default.nix b/pkgs/development/tools/repository-managers/nexus/default.nix
index 39776ec53288e..5f8a751aa0c79 100644
--- a/pkgs/development/tools/repository-managers/nexus/default.nix
+++ b/pkgs/development/tools/repository-managers/nexus/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nexus";
-  version = "3.52.0-01";
+  version = "3.68.1-02";
 
   src = fetchurl {
     url = "https://download.sonatype.com/nexus/3/nexus-${version}-unix.tar.gz";
-    hash = "sha256-+Hdmuy7WBtUIjEBZyLgE3a3+L/lANHiy1VRBJ2s686U=";
+    hash = "sha256-VHS4KDFgU3djteDzDAe43TZIwRG/8bb7u3usoOCJS5M=";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/development/tools/reshape/default.nix b/pkgs/development/tools/reshape/default.nix
index d7c4701b99831..273b0577dc04f 100644
--- a/pkgs/development/tools/reshape/default.nix
+++ b/pkgs/development/tools/reshape/default.nix
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
   postgresqlTestUserOptions = "LOGIN SUPERUSER";
 
   meta = with lib; {
-    description = "An easy-to-use, zero-downtime schema migration tool for Postgres";
+    description = "Easy-to-use, zero-downtime schema migration tool for Postgres";
     mainProgram = "reshape";
     homepage = "https://github.com/fabianlindfors/reshape";
     changelog = "https://github.com/fabianlindfors/reshape/releases/tag/v${version}";
diff --git a/pkgs/development/tools/rgp/default.nix b/pkgs/development/tools/rgp/default.nix
index bfbccdf9d48f7..c62211d697ecd 100644
--- a/pkgs/development/tools/rgp/default.nix
+++ b/pkgs/development/tools/rgp/default.nix
@@ -9,25 +9,27 @@
 , glib
 , libGLU
 , libglvnd
+, libICE
+, libkrb5
+, libSM
 , libX11
 , libxcb
 , libXi
+, libxkbcommon
 , ncurses
-, qtbase
-, qtdeclarative
 , zlib
 }:
 
 let
-  buildNum = "2023-05-22-1083";
+  buildNum = "2023-12-04-1282";
 in
 stdenv.mkDerivation {
   pname = "rgp";
-  version = "1.15.1";
+  version = "2.0";
 
   src = fetchurl {
     url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz";
-    hash = "sha256-WSSiNiiIVw1wwt9vxgyirBDe+SPzH87LU1GlSdUhZB8=";
+    hash = "sha256-gGkINq0tmOCkZJMxtoURHikqEGXGuRAP6Y6PEOLqmI0=";
   };
 
   nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
@@ -39,17 +41,17 @@ stdenv.mkDerivation {
     glib
     libGLU
     libglvnd
+    libICE
+    libkrb5
+    libSM
     libX11
     libxcb
     libXi
+    libxkbcommon
     ncurses
-    qtbase
-    qtdeclarative
     zlib
   ];
 
-  dontWrapQtApps = true;
-
   installPhase = ''
     mkdir -p $out/opt/rgp $out/bin
     cp -r . $out/opt/rgp/
@@ -59,15 +61,21 @@ stdenv.mkDerivation {
 
     for prog in RadeonDeveloperPanel RadeonDeveloperService RadeonDeveloperServiceCLI RadeonGPUAnalyzer RadeonGPUProfiler RadeonMemoryVisualizer RadeonRaytracingAnalyzer rga rtda; do
       # makeWrapper is needed so that executables are started from the opt
-      # directory, where qt.conf and other tools are
+      # directory, where qt.conf and other tools are.
+      # Unset Qt theme, it does not work if the nixos Qt version is different from the packaged one.
+      # The packaged Qt version only supports X11, so enforce that.
       makeWrapper \
         $out/opt/rgp/$prog \
-        $out/bin/$prog
+        $out/bin/$prog \
+        --unset QT_QPA_PLATFORMTHEME \
+        --unset QT_STYLE_OVERRIDE \
+        --set QT_QPA_PLATFORM xcb \
+        --prefix LD_LIBRARY_PATH : $out/opt/rgp/lib
     done
   '';
 
   meta = with lib; {
-    description = "A tool from AMD that allows for deep inspection of GPU workloads";
+    description = "Tool from AMD that allows for deep inspection of GPU workloads";
     homepage = "https://gpuopen.com/rgp/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
diff --git a/pkgs/development/tools/rover/default.nix b/pkgs/development/tools/rover/default.nix
index a540a8c6448d2..6e69aca6dd25e 100644
--- a/pkgs/development/tools/rover/default.nix
+++ b/pkgs/development/tools/rover/default.nix
@@ -46,7 +46,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A CLI for interacting with ApolloGraphQL's developer tooling, including managing self-hosted and GraphOS graphs.";
+    description = "CLI for interacting with ApolloGraphQL's developer tooling, including managing self-hosted and GraphOS graphs";
     mainProgram = "rover";
     homepage = "https://www.apollographql.com/docs/rover";
     license = licenses.mit;
diff --git a/pkgs/development/tools/rq/default.nix b/pkgs/development/tools/rq/default.nix
index d8ec2c9db8c35..f8ed521ad2cc1 100644
--- a/pkgs/development/tools/rq/default.nix
+++ b/pkgs/development/tools/rq/default.nix
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
   VERGEN_SEMVER = version;
 
   meta = with lib; {
-    description = "A tool for doing record analysis and transformation";
+    description = "Tool for doing record analysis and transformation";
     mainProgram = "rq";
     homepage = "https://github.com/dflemstr/rq";
     license = with licenses; [ asl20 ];
diff --git a/pkgs/development/tools/rslint/default.nix b/pkgs/development/tools/rslint/default.nix
index 1dd66050d2d79..cac55f4bb3516 100644
--- a/pkgs/development/tools/rslint/default.nix
+++ b/pkgs/development/tools/rslint/default.nix
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A fast, customizable, and easy to use JavaScript and TypeScript linter";
+    description = "Fast, customizable, and easy to use JavaScript and TypeScript linter";
     homepage = "https://rslint.org";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/development/tools/rstfmt/default.nix b/pkgs/development/tools/rstfmt/default.nix
index 25b20365a3097..f69c8c69bd5fe 100644
--- a/pkgs/development/tools/rstfmt/default.nix
+++ b/pkgs/development/tools/rstfmt/default.nix
@@ -33,7 +33,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   meta = with lib; {
-    description = "A formatter for reStructuredText";
+    description = "Formatter for reStructuredText";
     homepage = "https://github.com/dzhu/rstfmt";
     changelog = "https://github.com/dzhu/rstfmt/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/rubyfmt/default.nix b/pkgs/development/tools/rubyfmt/default.nix
index 15457e80aad9e..272fe25a5b14e 100644
--- a/pkgs/development/tools/rubyfmt/default.nix
+++ b/pkgs/development/tools/rubyfmt/default.nix
@@ -13,6 +13,7 @@
 , libunwind
 , libxcrypt
 , libyaml
+, rust-jemalloc-sys-unprefixed
 , Foundation
 , Security
 }:
@@ -40,6 +41,7 @@ rustPlatform.buildRustPackage rec {
     zlib
     libxcrypt
     libyaml
+    rust-jemalloc-sys-unprefixed
   ] ++ lib.optionals stdenv.isDarwin [
     readline
     libiconv
@@ -70,14 +72,16 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A Ruby autoformatter";
+    description = "Ruby autoformatter";
     homepage = "https://github.com/fables-tales/rubyfmt";
     license = licenses.mit;
     maintainers = with maintainers; [ bobvanderlinden ];
-    # = note: Undefined symbols for architecture x86_64:
-    #       "_utimensat", referenced from:
-    #           _utime_internal in librubyfmt-3c969812b3b27083.rlib(file.o)
-    broken = stdenv.isDarwin && stdenv.isx86_64;
+    # https://github.com/NixOS/nixpkgs/issues/320722
+    broken = true
+      # = note: Undefined symbols for architecture x86_64:
+      #       "_utimensat", referenced from:
+      #           _utime_internal in librubyfmt-3c969812b3b27083.rlib(file.o)
+      || stdenv.isDarwin && stdenv.isx86_64;
     mainProgram = "rubyfmt";
   };
 }
diff --git a/pkgs/development/tools/ruff/Cargo.lock b/pkgs/development/tools/ruff/Cargo.lock
new file mode 100644
index 0000000000000..6d910ad0ab5ad
--- /dev/null
+++ b/pkgs/development/tools/ruff/Cargo.lock
@@ -0,0 +1,4043 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "Inflector"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "ahash"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+dependencies = [
+ "cfg-if",
+ "getrandom",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "anes"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
+
+[[package]]
+name = "annotate-snippets"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7021ce4924a3f25f802b2cccd1af585e39ea1a363a1aa2e72afe54b67a3a7a7"
+
+[[package]]
+name = "annotate-snippets"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccaf7e9dfbb6ab22c82e473cd1a8a7bd313c19a5b7e40970f3d89ef5a5c9e81e"
+dependencies = [
+ "unicode-width",
+ "yansi-term",
+]
+
+[[package]]
+name = "anstream"
+version = "0.6.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
+
+[[package]]
+name = "arc-swap"
+version = "1.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
+
+[[package]]
+name = "argfile"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7c5c8e418080ef8aa932039d12eda7b6f5043baf48f1523c166fbc32d004534"
+dependencies = [
+ "fs-err",
+ "os_str_bytes",
+]
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+
+[[package]]
+name = "autocfg"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
+
+[[package]]
+name = "base64"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
+
+[[package]]
+name = "bincode"
+version = "1.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
+
+[[package]]
+name = "bstr"
+version = "1.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
+dependencies = [
+ "memchr",
+ "regex-automata 0.4.6",
+ "serde",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "cachedir"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4703f3937077db8fa35bee3c8789343c1aec2585f0146f09d658d4ccc0e8d873"
+dependencies = [
+ "tempfile",
+]
+
+[[package]]
+name = "camino"
+version = "1.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239"
+
+[[package]]
+name = "cast"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
+
+[[package]]
+name = "cc"
+version = "1.0.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b"
+dependencies = [
+ "jobserver",
+ "libc",
+ "once_cell",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+
+[[package]]
+name = "chic"
+version = "1.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a5b5db619f3556839cb2223ae86ff3f9a09da2c5013be42bc9af08c9589bf70c"
+dependencies = [
+ "annotate-snippets 0.6.1",
+]
+
+[[package]]
+name = "chrono"
+version = "0.4.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
+dependencies = [
+ "android-tzdata",
+ "iana-time-zone",
+ "num-traits",
+ "windows-targets 0.52.5",
+]
+
+[[package]]
+name = "ciborium"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
+dependencies = [
+ "ciborium-io",
+ "ciborium-ll",
+ "serde",
+]
+
+[[package]]
+name = "ciborium-io"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
+
+[[package]]
+name = "ciborium-ll"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
+dependencies = [
+ "ciborium-io",
+ "half",
+]
+
+[[package]]
+name = "clap"
+version = "4.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim 0.11.1",
+ "terminal_size",
+]
+
+[[package]]
+name = "clap_complete"
+version = "4.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd79504325bf38b10165b02e89b4347300f855f273c4cb30c4a3209e6583275e"
+dependencies = [
+ "clap",
+]
+
+[[package]]
+name = "clap_complete_command"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d"
+dependencies = [
+ "clap",
+ "clap_complete",
+ "clap_complete_fig",
+ "clap_complete_nushell",
+]
+
+[[package]]
+name = "clap_complete_fig"
+version = "4.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54b3e65f91fabdd23cac3d57d39d5d938b4daabd070c335c006dccb866a61110"
+dependencies = [
+ "clap",
+ "clap_complete",
+]
+
+[[package]]
+name = "clap_complete_nushell"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d02bc8b1a18ee47c4d2eec3fb5ac034dc68ebea6125b1509e9ccdffcddce66e"
+dependencies = [
+ "clap",
+ "clap_complete",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6"
+dependencies = [
+ "heck 0.5.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
+
+[[package]]
+name = "clearscreen"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f8c93eb5f77c9050c7750e14f13ef1033a40a0aac70c6371535b6763a01438c"
+dependencies = [
+ "nix",
+ "terminfo",
+ "thiserror",
+ "which",
+ "winapi",
+]
+
+[[package]]
+name = "codspeed"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a104ac948e0188b921eb3fcbdd55dcf62e542df4c7ab7e660623f6288302089"
+dependencies = [
+ "colored",
+ "libc",
+ "serde_json",
+]
+
+[[package]]
+name = "codspeed-criterion-compat"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "722c36bdc62d9436d027256ce2627af81ac7a596dfc7d13d849d0d212448d7fe"
+dependencies = [
+ "codspeed",
+ "colored",
+ "criterion",
+]
+
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "colored"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8"
+dependencies = [
+ "lazy_static",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "console"
+version = "0.15.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
+dependencies = [
+ "encode_unicode",
+ "lazy_static",
+ "libc",
+ "unicode-width",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "console_error_panic_hook"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "console_log"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f"
+dependencies = [
+ "log",
+ "web-sys",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+
+[[package]]
+name = "countme"
+version = "3.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636"
+
+[[package]]
+name = "crc32fast"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "criterion"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
+dependencies = [
+ "anes",
+ "cast",
+ "ciborium",
+ "clap",
+ "criterion-plot",
+ "is-terminal",
+ "itertools 0.10.5",
+ "num-traits",
+ "once_cell",
+ "oorandom",
+ "regex",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "tinytemplate",
+ "walkdir",
+]
+
+[[package]]
+name = "criterion-plot"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
+dependencies = [
+ "cast",
+ "itertools 0.10.5",
+]
+
+[[package]]
+name = "crossbeam"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-epoch",
+ "crossbeam-queue",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-queue"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+
+[[package]]
+name = "ctrlc"
+version = "3.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "672465ae37dc1bc6380a6547a8883d5dd397b0f1faaad4f265726cc7042a5345"
+dependencies = [
+ "nix",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "darling"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391"
+dependencies = [
+ "darling_core",
+ "darling_macro",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote",
+ "strsim 0.10.0",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
+dependencies = [
+ "darling_core",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "dashmap"
+version = "5.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
+dependencies = [
+ "cfg-if",
+ "hashbrown 0.14.5",
+ "lock_api",
+ "once_cell",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "diff"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
+
+[[package]]
+name = "dirs"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
+dependencies = [
+ "dirs-sys 0.3.7",
+]
+
+[[package]]
+name = "dirs"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
+dependencies = [
+ "dirs-sys 0.4.1",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+dependencies = [
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "displaydoc"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "drop_bomb"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bda8e21c04aca2ae33ffc2fd8c23134f3cac46db123ba97bd9d3f3b8a4a85e1"
+
+[[package]]
+name = "dyn-clone"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
+
+[[package]]
+name = "either"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
+
+[[package]]
+name = "encode_unicode"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+
+[[package]]
+name = "env_filter"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
+dependencies = [
+ "log",
+ "regex",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "env_filter",
+ "humantime",
+ "log",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "eyre"
+version = "0.6.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec"
+dependencies = [
+ "indenter",
+ "once_cell",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
+
+[[package]]
+name = "fern"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "filetime"
+version = "0.2.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "fs-err"
+version = "2.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "fsevent-sys"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "getopts"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "libc",
+ "wasi",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "globset"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
+dependencies = [
+ "aho-corasick",
+ "bstr",
+ "log",
+ "regex-automata 0.4.6",
+ "regex-syntax 0.8.3",
+]
+
+[[package]]
+name = "half"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
+dependencies = [
+ "cfg-if",
+ "crunchy",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+]
+
+[[package]]
+name = "hashlink"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
+dependencies = [
+ "hashbrown 0.14.5",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+[[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "windows-core",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "icu_collections"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
+dependencies = [
+ "displaydoc",
+ "yoke",
+ "zerofrom",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_locid"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
+dependencies = [
+ "displaydoc",
+ "litemap",
+ "tinystr",
+ "writeable",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_locid_transform"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
+dependencies = [
+ "displaydoc",
+ "icu_locid",
+ "icu_locid_transform_data",
+ "icu_provider",
+ "tinystr",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_locid_transform_data"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
+
+[[package]]
+name = "icu_normalizer"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
+dependencies = [
+ "displaydoc",
+ "icu_collections",
+ "icu_normalizer_data",
+ "icu_properties",
+ "icu_provider",
+ "smallvec",
+ "utf16_iter",
+ "utf8_iter",
+ "write16",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_normalizer_data"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
+
+[[package]]
+name = "icu_properties"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036"
+dependencies = [
+ "displaydoc",
+ "icu_collections",
+ "icu_locid_transform",
+ "icu_properties_data",
+ "icu_provider",
+ "tinystr",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_properties_data"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
+
+[[package]]
+name = "icu_provider"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
+dependencies = [
+ "displaydoc",
+ "icu_locid",
+ "icu_provider_macros",
+ "stable_deref_trait",
+ "tinystr",
+ "writeable",
+ "yoke",
+ "zerofrom",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_provider_macros"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "ident_case"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+
+[[package]]
+name = "idna"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed"
+dependencies = [
+ "icu_normalizer",
+ "icu_properties",
+ "smallvec",
+ "utf8_iter",
+]
+
+[[package]]
+name = "ignore"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1"
+dependencies = [
+ "crossbeam-deque",
+ "globset",
+ "log",
+ "memchr",
+ "regex-automata 0.4.6",
+ "same-file",
+ "walkdir",
+ "winapi-util",
+]
+
+[[package]]
+name = "imara-diff"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e98c1d0ad70fc91b8b9654b1f33db55e59579d3b3de2bffdced0fdb810570cb8"
+dependencies = [
+ "ahash",
+ "hashbrown 0.12.3",
+]
+
+[[package]]
+name = "imperative"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b70798296d538cdaa6d652941fcc795963f8b9878b9e300c9fab7a522bd2fc0"
+dependencies = [
+ "phf",
+ "rust-stemmers",
+]
+
+[[package]]
+name = "indenter"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
+
+[[package]]
+name = "indexmap"
+version = "2.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.5",
+ "serde",
+]
+
+[[package]]
+name = "indicatif"
+version = "0.17.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3"
+dependencies = [
+ "console",
+ "instant",
+ "number_prefix",
+ "portable-atomic",
+ "unicode-width",
+ "vt100",
+]
+
+[[package]]
+name = "indoc"
+version = "2.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
+
+[[package]]
+name = "inotify"
+version = "0.9.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff"
+dependencies = [
+ "bitflags 1.3.2",
+ "inotify-sys",
+ "libc",
+]
+
+[[package]]
+name = "inotify-sys"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "insta"
+version = "1.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "810ae6042d48e2c9e9215043563a58a80b877bc863228a74cf10c49d4620a6f5"
+dependencies = [
+ "console",
+ "globset",
+ "lazy_static",
+ "linked-hash-map",
+ "regex",
+ "serde",
+ "similar",
+ "walkdir",
+]
+
+[[package]]
+name = "insta-cmd"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffeeefa927925cced49ccb01bf3e57c9d4cd132df21e576eb9415baeab2d3de6"
+dependencies = [
+ "insta",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "is-docker"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "is-macro"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59a85abdc13717906baccb5a1e435556ce0df215f242892f721dff62bf25288f"
+dependencies = [
+ "Inflector",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "is-wsl"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5"
+dependencies = [
+ "is-docker",
+ "once_cell",
+]
+
+[[package]]
+name = "itertools"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itertools"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
+
+[[package]]
+name = "jobserver"
+version = "0.1.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "jod-thread"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b23360e99b8717f20aaa4598f5a6541efbe30630039fbc7706cf954a87947ae"
+
+[[package]]
+name = "js-sys"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "kqueue"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c"
+dependencies = [
+ "kqueue-sys",
+ "libc",
+]
+
+[[package]]
+name = "kqueue-sys"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b"
+dependencies = [
+ "bitflags 1.3.2",
+ "libc",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.155"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
+
+[[package]]
+name = "libcst"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10293a04a48e8b0cb2cc825a93b83090e527bffd3c897a0255ad7bc96079e920"
+dependencies = [
+ "chic",
+ "libcst_derive",
+ "memchr",
+ "paste",
+ "peg",
+ "regex",
+ "thiserror",
+]
+
+[[package]]
+name = "libcst_derive"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2ae40017ac09cd2c6a53504cb3c871c7f2b41466eac5bc66ba63f39073b467b"
+dependencies = [
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "libmimalloc-sys"
+version = "0.1.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e7bb23d733dfcc8af652a78b7bf232f0e967710d044732185e561e47c0336b6"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "libredox"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
+dependencies = [
+ "bitflags 2.5.0",
+ "libc",
+]
+
+[[package]]
+name = "linked-hash-map"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
+[[package]]
+name = "litemap"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
+
+[[package]]
+name = "lock_api"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+
+[[package]]
+name = "lsp-server"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "248f65b78f6db5d8e1b1604b4098a28b43d21a8eb1deeca22b1c421b276c7095"
+dependencies = [
+ "crossbeam-channel",
+ "log",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "lsp-types"
+version = "0.95.1"
+source = "git+https://github.com/astral-sh/lsp-types.git?rev=3512a9f#3512a9f33eadc5402cfab1b8f7340824c8ca1439"
+dependencies = [
+ "bitflags 1.3.2",
+ "serde",
+ "serde_json",
+ "serde_repr",
+ "url",
+]
+
+[[package]]
+name = "matchers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+dependencies = [
+ "regex-automata 0.1.10",
+]
+
+[[package]]
+name = "matches"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
+
+[[package]]
+name = "matchit"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "540f1c43aed89909c0cc0cc604e3bb2f7e7a341a3728a9e6cfe760e733cd11ed"
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "mimalloc"
+version = "0.1.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e9186d86b79b52f4a77af65604b51225e8db1d6ee7e3f41aec1e40829c71a176"
+dependencies = [
+ "libmimalloc-sys",
+]
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
+dependencies = [
+ "libc",
+ "log",
+ "wasi",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "natord"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "308d96db8debc727c3fd9744aac51751243420e46edf401010908da7f8d5e57c"
+
+[[package]]
+name = "newtype-uuid"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3526cb7c660872e401beaf3297f95f548ce3b4b4bdd8121b7c0713771d7c4a6e"
+dependencies = [
+ "uuid",
+]
+
+[[package]]
+name = "nix"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
+dependencies = [
+ "bitflags 2.5.0",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "notify"
+version = "6.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d"
+dependencies = [
+ "bitflags 2.5.0",
+ "crossbeam-channel",
+ "filetime",
+ "fsevent-sys",
+ "inotify",
+ "kqueue",
+ "libc",
+ "log",
+ "mio",
+ "walkdir",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi",
+]
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.50.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd2800e1520bdc966782168a627aa5d1ad92e33b984bf7c7615d31280c83ff14"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "number_prefix"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "oorandom"
+version = "11.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
+
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
+name = "path-absolutize"
+version = "3.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4af381fe79fa195b4909485d99f73a80792331df0625188e707854f0b3383f5"
+dependencies = [
+ "path-dedot",
+]
+
+[[package]]
+name = "path-dedot"
+version = "3.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07ba0ad7e047712414213ff67533e6dd477af0a4e1d14fb52343e53d30ea9397"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "path-slash"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42"
+
+[[package]]
+name = "pathdiff"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
+
+[[package]]
+name = "peg"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "400bcab7d219c38abf8bd7cc2054eb9bbbd4312d66f6a5557d572a203f646f61"
+dependencies = [
+ "peg-macros",
+ "peg-runtime",
+]
+
+[[package]]
+name = "peg-macros"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46e61cce859b76d19090f62da50a9fe92bab7c2a5f09e183763559a2ac392c90"
+dependencies = [
+ "peg-runtime",
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
+name = "peg-runtime"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "36bae92c60fa2398ce4678b98b2c4b5a7c61099961ca1fa305aec04a9ad28922"
+
+[[package]]
+name = "pep440_rs"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0c29f9c43de378b4e4e0cd7dbcce0e5cfb80443de8c05620368b2948bc936a1"
+dependencies = [
+ "once_cell",
+ "regex",
+ "serde",
+ "unicode-width",
+]
+
+[[package]]
+name = "pep440_rs"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca0a570e7ec9171250cac57614e901f62408094b54b3798bb920d3cf0d4a0e09"
+dependencies = [
+ "once_cell",
+ "serde",
+ "unicode-width",
+ "unscanny",
+]
+
+[[package]]
+name = "pep508_rs"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "910c513bea0f4f833122321c0f20e8c704e01de98692f6989c2ec21f43d88b1e"
+dependencies = [
+ "once_cell",
+ "pep440_rs 0.4.0",
+ "regex",
+ "serde",
+ "thiserror",
+ "tracing",
+ "unicode-width",
+ "url",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "phf"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
+dependencies = [
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_codegen"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
+dependencies = [
+ "phf_generator",
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_generator"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
+dependencies = [
+ "phf_shared",
+ "rand",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
+
+[[package]]
+name = "portable-atomic"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "pretty_assertions"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
+dependencies = [
+ "diff",
+ "yansi",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.85"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "pyproject-toml"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95c3dd745f99aa3c554b7bb00859f7d18c2f1d6afd749ccc86d60b61e702abd9"
+dependencies = [
+ "indexmap",
+ "pep440_rs 0.4.0",
+ "pep508_rs",
+ "serde",
+ "toml",
+]
+
+[[package]]
+name = "quick-junit"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cfc1a6a5406a114913df2df8507998c755311b55b78584bed5f6e88f6417c4d4"
+dependencies = [
+ "chrono",
+ "indexmap",
+ "newtype-uuid",
+ "quick-xml",
+ "strip-ansi-escapes",
+ "thiserror",
+ "uuid",
+]
+
+[[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rayon"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "red_knot"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "bitflags 2.5.0",
+ "crossbeam",
+ "ctrlc",
+ "dashmap",
+ "hashbrown 0.14.5",
+ "indexmap",
+ "insta",
+ "is-macro",
+ "notify",
+ "parking_lot",
+ "rayon",
+ "red_knot_python_semantic",
+ "ruff_index",
+ "ruff_notebook",
+ "ruff_python_ast",
+ "ruff_python_parser",
+ "ruff_python_stdlib",
+ "ruff_text_size",
+ "rustc-hash",
+ "smol_str",
+ "tempfile",
+ "tracing",
+ "tracing-subscriber",
+ "tracing-tree",
+ "walkdir",
+ "zip",
+]
+
+[[package]]
+name = "red_knot_python_semantic"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "bitflags 2.5.0",
+ "hashbrown 0.14.5",
+ "indexmap",
+ "ruff_db",
+ "ruff_index",
+ "ruff_python_ast",
+ "ruff_python_parser",
+ "ruff_python_stdlib",
+ "ruff_text_size",
+ "rustc-hash",
+ "salsa-2022",
+ "smallvec",
+ "smol_str",
+ "tempfile",
+ "tracing",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891"
+dependencies = [
+ "getrandom",
+ "libredox",
+ "thiserror",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata 0.4.6",
+ "regex-syntax 0.8.3",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+dependencies = [
+ "regex-syntax 0.6.29",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.3",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
+
+[[package]]
+name = "ring"
+version = "0.17.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
+dependencies = [
+ "cc",
+ "cfg-if",
+ "getrandom",
+ "libc",
+ "spin",
+ "untrusted",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "ruff"
+version = "0.4.10"
+dependencies = [
+ "anyhow",
+ "argfile",
+ "bincode",
+ "bitflags 2.5.0",
+ "cachedir",
+ "chrono",
+ "clap",
+ "clap_complete_command",
+ "clearscreen",
+ "colored",
+ "filetime",
+ "ignore",
+ "insta",
+ "insta-cmd",
+ "is-macro",
+ "itertools 0.13.0",
+ "log",
+ "mimalloc",
+ "notify",
+ "path-absolutize",
+ "rayon",
+ "regex",
+ "ruff_cache",
+ "ruff_diagnostics",
+ "ruff_linter",
+ "ruff_macros",
+ "ruff_notebook",
+ "ruff_python_ast",
+ "ruff_python_formatter",
+ "ruff_server",
+ "ruff_source_file",
+ "ruff_text_size",
+ "ruff_workspace",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+ "shellexpand",
+ "strum",
+ "tempfile",
+ "test-case",
+ "thiserror",
+ "tikv-jemallocator",
+ "toml",
+ "tracing",
+ "walkdir",
+ "wild",
+]
+
+[[package]]
+name = "ruff_benchmark"
+version = "0.0.0"
+dependencies = [
+ "codspeed-criterion-compat",
+ "criterion",
+ "mimalloc",
+ "once_cell",
+ "ruff_linter",
+ "ruff_python_ast",
+ "ruff_python_formatter",
+ "ruff_python_parser",
+ "ruff_python_trivia",
+ "serde",
+ "serde_json",
+ "tikv-jemallocator",
+ "ureq",
+ "url",
+]
+
+[[package]]
+name = "ruff_cache"
+version = "0.0.0"
+dependencies = [
+ "filetime",
+ "glob",
+ "globset",
+ "itertools 0.13.0",
+ "regex",
+ "ruff_macros",
+ "seahash",
+]
+
+[[package]]
+name = "ruff_db"
+version = "0.0.0"
+dependencies = [
+ "camino",
+ "countme",
+ "dashmap",
+ "filetime",
+ "itertools 0.13.0",
+ "once_cell",
+ "ruff_python_ast",
+ "ruff_python_parser",
+ "ruff_source_file",
+ "ruff_text_size",
+ "rustc-hash",
+ "salsa-2022",
+ "tracing",
+ "zip",
+]
+
+[[package]]
+name = "ruff_dev"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "ignore",
+ "imara-diff",
+ "indicatif",
+ "indoc",
+ "itertools 0.13.0",
+ "libcst",
+ "pretty_assertions",
+ "rayon",
+ "regex",
+ "ruff",
+ "ruff_diagnostics",
+ "ruff_formatter",
+ "ruff_linter",
+ "ruff_notebook",
+ "ruff_python_ast",
+ "ruff_python_codegen",
+ "ruff_python_formatter",
+ "ruff_python_parser",
+ "ruff_python_stdlib",
+ "ruff_python_trivia",
+ "ruff_text_size",
+ "ruff_workspace",
+ "schemars",
+ "serde",
+ "serde_json",
+ "similar",
+ "strum",
+ "tempfile",
+ "toml",
+ "tracing",
+ "tracing-indicatif",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "ruff_diagnostics"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "is-macro",
+ "log",
+ "ruff_text_size",
+ "serde",
+]
+
+[[package]]
+name = "ruff_formatter"
+version = "0.0.0"
+dependencies = [
+ "drop_bomb",
+ "ruff_cache",
+ "ruff_macros",
+ "ruff_text_size",
+ "rustc-hash",
+ "schemars",
+ "serde",
+ "static_assertions",
+ "tracing",
+ "unicode-width",
+]
+
+[[package]]
+name = "ruff_index"
+version = "0.0.0"
+dependencies = [
+ "ruff_macros",
+ "static_assertions",
+]
+
+[[package]]
+name = "ruff_linter"
+version = "0.4.10"
+dependencies = [
+ "aho-corasick",
+ "annotate-snippets 0.9.2",
+ "anyhow",
+ "bitflags 2.5.0",
+ "chrono",
+ "clap",
+ "colored",
+ "fern",
+ "glob",
+ "globset",
+ "imperative",
+ "insta",
+ "is-macro",
+ "is-wsl",
+ "itertools 0.13.0",
+ "libcst",
+ "log",
+ "memchr",
+ "natord",
+ "once_cell",
+ "path-absolutize",
+ "pathdiff",
+ "pep440_rs 0.6.0",
+ "pyproject-toml",
+ "quick-junit",
+ "regex",
+ "ruff_cache",
+ "ruff_diagnostics",
+ "ruff_macros",
+ "ruff_notebook",
+ "ruff_python_ast",
+ "ruff_python_codegen",
+ "ruff_python_index",
+ "ruff_python_literal",
+ "ruff_python_parser",
+ "ruff_python_semantic",
+ "ruff_python_stdlib",
+ "ruff_python_trivia",
+ "ruff_source_file",
+ "ruff_text_size",
+ "rustc-hash",
+ "schemars",
+ "serde",
+ "serde_json",
+ "similar",
+ "smallvec",
+ "strum",
+ "strum_macros",
+ "test-case",
+ "thiserror",
+ "toml",
+ "typed-arena",
+ "unicode-width",
+ "unicode_names2",
+ "url",
+]
+
+[[package]]
+name = "ruff_macros"
+version = "0.0.0"
+dependencies = [
+ "itertools 0.13.0",
+ "proc-macro2",
+ "quote",
+ "ruff_python_trivia",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "ruff_notebook"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "itertools 0.13.0",
+ "once_cell",
+ "rand",
+ "ruff_diagnostics",
+ "ruff_source_file",
+ "ruff_text_size",
+ "serde",
+ "serde_json",
+ "serde_with",
+ "test-case",
+ "thiserror",
+ "uuid",
+]
+
+[[package]]
+name = "ruff_python_ast"
+version = "0.0.0"
+dependencies = [
+ "aho-corasick",
+ "bitflags 2.5.0",
+ "is-macro",
+ "itertools 0.13.0",
+ "once_cell",
+ "ruff_python_trivia",
+ "ruff_source_file",
+ "ruff_text_size",
+ "rustc-hash",
+ "serde",
+]
+
+[[package]]
+name = "ruff_python_ast_integration_tests"
+version = "0.0.0"
+dependencies = [
+ "insta",
+ "ruff_python_ast",
+ "ruff_python_parser",
+ "ruff_python_trivia",
+ "ruff_text_size",
+]
+
+[[package]]
+name = "ruff_python_codegen"
+version = "0.0.0"
+dependencies = [
+ "once_cell",
+ "ruff_python_ast",
+ "ruff_python_literal",
+ "ruff_python_parser",
+ "ruff_source_file",
+ "ruff_text_size",
+]
+
+[[package]]
+name = "ruff_python_formatter"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "countme",
+ "insta",
+ "itertools 0.13.0",
+ "memchr",
+ "once_cell",
+ "regex",
+ "ruff_cache",
+ "ruff_formatter",
+ "ruff_macros",
+ "ruff_python_ast",
+ "ruff_python_parser",
+ "ruff_python_trivia",
+ "ruff_source_file",
+ "ruff_text_size",
+ "rustc-hash",
+ "schemars",
+ "serde",
+ "serde_json",
+ "similar",
+ "smallvec",
+ "static_assertions",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
+name = "ruff_python_index"
+version = "0.0.0"
+dependencies = [
+ "ruff_python_ast",
+ "ruff_python_parser",
+ "ruff_python_trivia",
+ "ruff_source_file",
+ "ruff_text_size",
+]
+
+[[package]]
+name = "ruff_python_literal"
+version = "0.0.0"
+dependencies = [
+ "bitflags 2.5.0",
+ "itertools 0.13.0",
+ "ruff_python_ast",
+ "unic-ucd-category",
+]
+
+[[package]]
+name = "ruff_python_parser"
+version = "0.0.0"
+dependencies = [
+ "annotate-snippets 0.9.2",
+ "anyhow",
+ "bitflags 2.5.0",
+ "bstr",
+ "insta",
+ "memchr",
+ "ruff_python_ast",
+ "ruff_python_trivia",
+ "ruff_source_file",
+ "ruff_text_size",
+ "rustc-hash",
+ "static_assertions",
+ "unicode-ident",
+ "unicode-normalization",
+ "unicode_names2",
+ "walkdir",
+]
+
+[[package]]
+name = "ruff_python_resolver"
+version = "0.0.0"
+dependencies = [
+ "env_logger",
+ "insta",
+ "log",
+ "tempfile",
+]
+
+[[package]]
+name = "ruff_python_semantic"
+version = "0.0.0"
+dependencies = [
+ "bitflags 2.5.0",
+ "is-macro",
+ "ruff_index",
+ "ruff_python_ast",
+ "ruff_python_parser",
+ "ruff_python_stdlib",
+ "ruff_source_file",
+ "ruff_text_size",
+ "rustc-hash",
+]
+
+[[package]]
+name = "ruff_python_stdlib"
+version = "0.0.0"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "ruff_python_trivia"
+version = "0.0.0"
+dependencies = [
+ "itertools 0.13.0",
+ "ruff_source_file",
+ "ruff_text_size",
+ "unicode-ident",
+]
+
+[[package]]
+name = "ruff_python_trivia_integration_tests"
+version = "0.0.0"
+dependencies = [
+ "insta",
+ "ruff_python_parser",
+ "ruff_python_trivia",
+ "ruff_source_file",
+ "ruff_text_size",
+]
+
+[[package]]
+name = "ruff_server"
+version = "0.2.2"
+dependencies = [
+ "anyhow",
+ "crossbeam",
+ "globset",
+ "insta",
+ "jod-thread",
+ "libc",
+ "lsp-server",
+ "lsp-types",
+ "regex",
+ "ruff_diagnostics",
+ "ruff_formatter",
+ "ruff_linter",
+ "ruff_notebook",
+ "ruff_python_ast",
+ "ruff_python_codegen",
+ "ruff_python_formatter",
+ "ruff_python_index",
+ "ruff_python_parser",
+ "ruff_source_file",
+ "ruff_text_size",
+ "ruff_workspace",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+ "shellexpand",
+ "tracing",
+ "tracing-subscriber",
+ "walkdir",
+]
+
+[[package]]
+name = "ruff_source_file"
+version = "0.0.0"
+dependencies = [
+ "memchr",
+ "once_cell",
+ "ruff_text_size",
+ "serde",
+]
+
+[[package]]
+name = "ruff_text_size"
+version = "0.0.0"
+dependencies = [
+ "schemars",
+ "serde",
+ "serde_test",
+ "static_assertions",
+]
+
+[[package]]
+name = "ruff_wasm"
+version = "0.0.0"
+dependencies = [
+ "console_error_panic_hook",
+ "console_log",
+ "js-sys",
+ "log",
+ "ruff_formatter",
+ "ruff_linter",
+ "ruff_python_ast",
+ "ruff_python_codegen",
+ "ruff_python_formatter",
+ "ruff_python_index",
+ "ruff_python_parser",
+ "ruff_python_trivia",
+ "ruff_source_file",
+ "ruff_text_size",
+ "ruff_workspace",
+ "serde",
+ "serde-wasm-bindgen",
+ "wasm-bindgen",
+ "wasm-bindgen-test",
+]
+
+[[package]]
+name = "ruff_workspace"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "colored",
+ "dirs 5.0.1",
+ "glob",
+ "globset",
+ "ignore",
+ "is-macro",
+ "itertools 0.13.0",
+ "log",
+ "matchit",
+ "path-absolutize",
+ "path-slash",
+ "pep440_rs 0.6.0",
+ "regex",
+ "ruff_cache",
+ "ruff_formatter",
+ "ruff_linter",
+ "ruff_macros",
+ "ruff_python_ast",
+ "ruff_python_formatter",
+ "ruff_source_file",
+ "rustc-hash",
+ "schemars",
+ "serde",
+ "shellexpand",
+ "strum",
+ "tempfile",
+ "toml",
+]
+
+[[package]]
+name = "rust-stemmers"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e46a2036019fdb888131db7a4c847a1063a7493f971ed94ea82c67eada63ca54"
+dependencies = [
+ "serde",
+ "serde_derive",
+]
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustix"
+version = "0.38.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
+dependencies = [
+ "bitflags 2.5.0",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustls"
+version = "0.22.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
+dependencies = [
+ "log",
+ "ring",
+ "rustls-pki-types",
+ "rustls-webpki",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "rustls-pki-types"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "beb461507cee2c2ff151784c52762cf4d9ff6a61f3e80968600ed24fa837fa54"
+
+[[package]]
+name = "rustls-webpki"
+version = "0.102.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf"
+dependencies = [
+ "ring",
+ "rustls-pki-types",
+ "untrusted",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47"
+
+[[package]]
+name = "ryu"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
+
+[[package]]
+name = "salsa-2022"
+version = "0.1.0"
+source = "git+https://github.com/salsa-rs/salsa.git?rev=05b4e3ebdcdc47730cdd359e7e97fb2470527279#05b4e3ebdcdc47730cdd359e7e97fb2470527279"
+dependencies = [
+ "arc-swap",
+ "crossbeam",
+ "crossbeam-utils",
+ "dashmap",
+ "hashlink",
+ "indexmap",
+ "log",
+ "parking_lot",
+ "rustc-hash",
+ "salsa-2022-macros",
+ "smallvec",
+]
+
+[[package]]
+name = "salsa-2022-macros"
+version = "0.1.0"
+source = "git+https://github.com/salsa-rs/salsa.git?rev=05b4e3ebdcdc47730cdd359e7e97fb2470527279#05b4e3ebdcdc47730cdd359e7e97fb2470527279"
+dependencies = [
+ "eyre",
+ "heck 0.4.1",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "same-file"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "schemars"
+version = "0.8.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92"
+dependencies = [
+ "dyn-clone",
+ "schemars_derive",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "schemars_derive"
+version = "0.8.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde_derive_internals",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "scoped-tls"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "seahash"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
+
+[[package]]
+name = "serde"
+version = "1.0.203"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde-wasm-bindgen"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b"
+dependencies = [
+ "js-sys",
+ "serde",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.203"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "serde_derive_internals"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "330f01ce65a3a5fe59a60c82f3c9a024b573b8a6e875bd233fe5f934e71d54e3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.117"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_repr"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_test"
+version = "1.0.176"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a2f49ace1498612d14f7e0b8245519584db8299541dfe31a06374a828d620ab"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_with"
+version = "3.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20"
+dependencies = [
+ "serde",
+ "serde_derive",
+ "serde_with_macros",
+]
+
+[[package]]
+name = "serde_with_macros"
+version = "3.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2"
+dependencies = [
+ "darling",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "sharded-slab"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "shellexpand"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b"
+dependencies = [
+ "dirs 5.0.1",
+]
+
+[[package]]
+name = "similar"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640"
+
+[[package]]
+name = "siphasher"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[package]]
+name = "smallvec"
+version = "1.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+
+[[package]]
+name = "smol_str"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "strip-ansi-escapes"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55ff8ef943b384c414f54aefa961dd2bd853add74ec75e7ac74cf91dba62bcfa"
+dependencies = [
+ "vte",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
+name = "strum"
+version = "0.26.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
+dependencies = [
+ "strum_macros",
+]
+
+[[package]]
+name = "strum_macros"
+version = "0.26.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
+dependencies = [
+ "heck 0.5.0",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "subtle"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.66"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "synstructure"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "rustix",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "terminal_size"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
+dependencies = [
+ "rustix",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "terminfo"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "666cd3a6681775d22b200409aad3b089c5b99fb11ecdd8a204d9d62f8148498f"
+dependencies = [
+ "dirs 4.0.0",
+ "fnv",
+ "nom",
+ "phf",
+ "phf_codegen",
+]
+
+[[package]]
+name = "test-case"
+version = "3.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb2550dd13afcd286853192af8601920d959b14c401fcece38071d53bf0768a8"
+dependencies = [
+ "test-case-macros",
+]
+
+[[package]]
+name = "test-case-core"
+version = "3.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f"
+dependencies = [
+ "cfg-if",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "test-case-macros"
+version = "3.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+ "test-case-core",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "tikv-jemalloc-sys"
+version = "0.5.4+5.3.0-patched"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "tikv-jemallocator"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca"
+dependencies = [
+ "libc",
+ "tikv-jemalloc-sys",
+]
+
+[[package]]
+name = "tinystr"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
+dependencies = [
+ "displaydoc",
+ "zerovec",
+]
+
+[[package]]
+name = "tinytemplate"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "toml"
+version = "0.8.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "log",
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-indicatif"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "069580424efe11d97c3fef4197fa98c004fa26672cc71ad8770d224e23b1951d"
+dependencies = [
+ "indicatif",
+ "tracing",
+ "tracing-core",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
+dependencies = [
+ "log",
+ "once_cell",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
+dependencies = [
+ "matchers",
+ "nu-ansi-term 0.46.0",
+ "once_cell",
+ "regex",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "tracing",
+ "tracing-core",
+ "tracing-log",
+]
+
+[[package]]
+name = "tracing-tree"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b56c62d2c80033cb36fae448730a2f2ef99410fe3ecbffc916681a32f6807dbe"
+dependencies = [
+ "nu-ansi-term 0.50.0",
+ "tracing-core",
+ "tracing-log",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "typed-arena"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
+
+[[package]]
+name = "unic-char-property"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221"
+dependencies = [
+ "unic-char-range",
+]
+
+[[package]]
+name = "unic-char-range"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc"
+
+[[package]]
+name = "unic-common"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc"
+
+[[package]]
+name = "unic-ucd-category"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b8d4591f5fcfe1bd4453baaf803c40e1b1e69ff8455c47620440b46efef91c0"
+dependencies = [
+ "matches",
+ "unic-char-property",
+ "unic-char-range",
+ "unic-ucd-version",
+]
+
+[[package]]
+name = "unic-ucd-version"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4"
+dependencies = [
+ "unic-common",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+[[package]]
+name = "unicode_names2"
+version = "1.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "addeebf294df7922a1164f729fb27ebbbcea99cc32b3bf08afab62757f707677"
+dependencies = [
+ "phf",
+ "unicode_names2_generator",
+]
+
+[[package]]
+name = "unicode_names2_generator"
+version = "1.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f444b8bba042fe3c1251ffaca35c603f2dc2ccc08d595c65a8c4f76f3e8426c0"
+dependencies = [
+ "getopts",
+ "log",
+ "phf_codegen",
+ "rand",
+]
+
+[[package]]
+name = "unscanny"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47"
+
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
+[[package]]
+name = "ureq"
+version = "2.9.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d11a831e3c0b56e438a28308e7c810799e3c118417f342d30ecec080105395cd"
+dependencies = [
+ "base64",
+ "flate2",
+ "log",
+ "once_cell",
+ "rustls",
+ "rustls-pki-types",
+ "rustls-webpki",
+ "url",
+ "webpki-roots",
+]
+
+[[package]]
+name = "url"
+version = "2.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+ "serde",
+]
+
+[[package]]
+name = "utf16_iter"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
+
+[[package]]
+name = "utf8_iter"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
+name = "uuid"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
+dependencies = [
+ "getrandom",
+ "rand",
+ "uuid-macro-internal",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "uuid-macro-internal"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9881bea7cbe687e36c9ab3b778c36cd0487402e270304e8b1296d5085303c1a2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "vt100"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84cd863bf0db7e392ba3bd04994be3473491b31e66340672af5d11943c6274de"
+dependencies = [
+ "itoa",
+ "log",
+ "unicode-width",
+ "vte",
+]
+
+[[package]]
+name = "vte"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5022b5fbf9407086c180e9557be968742d839e68346af7792b8592489732197"
+dependencies = [
+ "arrayvec",
+ "utf8parse",
+ "vte_generate_state_changes",
+]
+
+[[package]]
+name = "vte_generate_state_changes"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
+dependencies = [
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
+name = "walkdir"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
+
+[[package]]
+name = "wasm-bindgen-test"
+version = "0.3.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9bf62a58e0780af3e852044583deee40983e5886da43a271dd772379987667b"
+dependencies = [
+ "console_error_panic_hook",
+ "js-sys",
+ "scoped-tls",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wasm-bindgen-test-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-test-macro"
+version = "0.3.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7f89739351a2e03cb94beb799d47fb2cac01759b40ec441f7de39b00cbf7ef0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "web-sys"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki-roots"
+version = "0.26.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009"
+dependencies = [
+ "rustls-pki-types",
+]
+
+[[package]]
+name = "which"
+version = "6.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8211e4f58a2b2805adfbefbc07bab82958fc91e3836339b1ab7ae32465dce0d7"
+dependencies = [
+ "either",
+ "home",
+ "rustix",
+ "winsafe",
+]
+
+[[package]]
+name = "wild"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1"
+dependencies = [
+ "glob",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-core"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+dependencies = [
+ "windows-targets 0.52.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.5",
+ "windows_aarch64_msvc 0.52.5",
+ "windows_i686_gnu 0.52.5",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.52.5",
+ "windows_x86_64_gnu 0.52.5",
+ "windows_x86_64_gnullvm 0.52.5",
+ "windows_x86_64_msvc 0.52.5",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
+
+[[package]]
+name = "winnow"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0c976aaaa0e1f90dbb21e9587cdaf1d9679a1cde8875c0d6bd83ab96a208352"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winsafe"
+version = "0.0.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904"
+
+[[package]]
+name = "write16"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
+
+[[package]]
+name = "writeable"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
+
+[[package]]
+name = "yansi"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
+
+[[package]]
+name = "yansi-term"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "yoke"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
+dependencies = [
+ "serde",
+ "stable_deref_trait",
+ "yoke-derive",
+ "zerofrom",
+]
+
+[[package]]
+name = "yoke-derive"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+ "synstructure",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "zerofrom"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55"
+dependencies = [
+ "zerofrom-derive",
+]
+
+[[package]]
+name = "zerofrom-derive"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+ "synstructure",
+]
+
+[[package]]
+name = "zeroize"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
+
+[[package]]
+name = "zerovec"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c"
+dependencies = [
+ "yoke",
+ "zerofrom",
+ "zerovec-derive",
+]
+
+[[package]]
+name = "zerovec-derive"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "zip"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
+dependencies = [
+ "byteorder",
+ "crc32fast",
+ "crossbeam-utils",
+ "zstd",
+]
+
+[[package]]
+name = "zstd"
+version = "0.11.2+zstd.1.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
+dependencies = [
+ "zstd-safe",
+]
+
+[[package]]
+name = "zstd-safe"
+version = "5.0.2+zstd.1.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
+dependencies = [
+ "libc",
+ "zstd-sys",
+]
+
+[[package]]
+name = "zstd-sys"
+version = "2.0.11+zstd.1.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4"
+dependencies = [
+ "cc",
+ "pkg-config",
+]
diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix
index 79c438bbdc50b..a58eadf632ff4 100644
--- a/pkgs/development/tools/ruff/default.nix
+++ b/pkgs/development/tools/ruff/default.nix
@@ -6,20 +6,28 @@
 , darwin
 , rust-jemalloc-sys
 , ruff-lsp
+, testers
+, ruff
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.4.2";
+  version = "0.4.10";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = "ruff";
     rev = "refs/tags/v${version}";
-    hash = "sha256-AnAJi0srzwxU/22Uy+OjaSBdAEjCXH99J7VDvI03HDU=";
+    hash = "sha256-FRBuvXtnbxRWoI0f8SM0U0Z5TRyX5Tbgq3d34Oh2bG4=";
   };
 
-  cargoHash = "sha256-qMh2OvNYO4/0Gv/scE5/OWQMzLaetZY5DJFSeoLnISU=";
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "lsp-types-0.95.1" = "sha256-8Oh299exWXVi6A39pALOISNfp8XBya8z+KT/Z7suRxQ=";
+      "salsa-2022-0.1.0" = "sha256-mt+X1hO+5ZrCAgy6N4aArnixJ9GjY/KwM0uIMUSrDsg=";
+    };
+  };
 
   nativeBuildInputs = [
     installShellFiles
@@ -36,6 +44,26 @@ rustPlatform.buildRustPackage rec {
     export NO_COLOR=1
   '';
 
+  # Failing for an unclear reason.
+  # According to the maintainers, those tests are from an experimental crate that isn't actually
+  # used by ruff currently and can thus be safely skipped.
+  checkFlags = [
+    "--skip=semantic::tests::expression_scope"
+    "--skip=semantic::tests::reachability_trivial"
+    "--skip=semantic::types::infer::tests::follow_import_to_class"
+    "--skip=semantic::types::infer::tests::if_elif"
+    "--skip=semantic::types::infer::tests::if_elif_else"
+    "--skip=semantic::types::infer::tests::ifexpr_walrus"
+    "--skip=semantic::types::infer::tests::ifexpr_walrus_2"
+    "--skip=semantic::types::infer::tests::join_paths"
+    "--skip=semantic::types::infer::tests::literal_int_arithmetic"
+    "--skip=semantic::types::infer::tests::maybe_unbound"
+    "--skip=semantic::types::infer::tests::narrow_none"
+    "--skip=semantic::types::infer::tests::resolve_base_class_by_name"
+    "--skip=semantic::types::infer::tests::resolve_module_member"
+    "--skip=semantic::types::infer::tests::resolve_visible_def"
+  ];
+
   postInstall = ''
     installShellCompletion --cmd ruff \
       --bash <($out/bin/ruff generate-shell-completion bash) \
@@ -45,14 +73,18 @@ rustPlatform.buildRustPackage rec {
 
   passthru.tests = {
     inherit ruff-lsp;
+    version = testers.testVersion { package = ruff; };
   };
 
-  meta = with lib; {
-    description = "An extremely fast Python linter";
+  meta = {
+    description = "Extremely fast Python linter";
     homepage = "https://github.com/astral-sh/ruff";
     changelog = "https://github.com/astral-sh/ruff/releases/tag/v${version}";
-    license = licenses.mit;
+    license = lib.licenses.mit;
     mainProgram = "ruff";
-    maintainers = with maintainers; [ figsoda ];
+    maintainers = with lib.maintainers; [
+      figsoda
+      GaetanLepage
+    ];
   };
 }
diff --git a/pkgs/development/tools/rund/default.nix b/pkgs/development/tools/rund/default.nix
index e02e58fb893c1..ef0701d9343ed 100644
--- a/pkgs/development/tools/rund/default.nix
+++ b/pkgs/development/tools/rund/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A compiler-wrapper that runs and caches D programs";
+    description = "Compiler-wrapper that runs and caches D programs";
     mainProgram = "rund";
     homepage = "https://github.com/dragon-lang/rund";
     license = lib.licenses.boost;
diff --git a/pkgs/development/tools/rust/bootimage/default.nix b/pkgs/development/tools/rust/bootimage/default.nix
index 9da7aeaa8cc34..0a9fa12365458 100644
--- a/pkgs/development/tools/rust/bootimage/default.nix
+++ b/pkgs/development/tools/rust/bootimage/default.nix
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "03jximwqgjq7359c5mxbyfja2d04y57h34f87aby8jy0lz99jy2x";
 
   meta = with lib; {
-    description = "Creates a bootable disk image from a Rust OS kernel.";
+    description = "Creates a bootable disk image from a Rust OS kernel";
     homepage = "https://github.com/rust-osdev/bootimage";
     license = with licenses; [ asl20 mit ];
     maintainers = with maintainers; [ dbeckwith ];
diff --git a/pkgs/development/tools/rust/cargo-about/default.nix b/pkgs/development/tools/rust/cargo-about/default.nix
index 8537cabcaca10..67a7220031a6f 100644
--- a/pkgs/development/tools/rust/cargo-about/default.nix
+++ b/pkgs/development/tools/rust/cargo-about/default.nix
@@ -1,30 +1,34 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, pkg-config
-, zstd
-, stdenv
-, darwin
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+  pkg-config,
+  zstd,
+  stdenv,
+  darwin,
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-about";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = "cargo-about";
     rev = version;
-    sha256 = "sha256-+FtTD2vr1+BxSXHlFqpXmzP54vZ8CP1vJ0BQVFp/Zx4=";
+    sha256 = "sha256-W2qE4QqwVgC/J6NQkUcC501Dcc1qHnAhTIDvlr2El2k=";
   };
 
-  cargoHash = "sha256-5Kh0GpyAq6jeMuPO3x+lC46zkVcxoMVMjQXZCBZRlk8=";
+  cargoHash = "sha256-9Cw9FKbpGNsoWTqJtsm+dplvvPkZghj2uQ1M/WMw/LM=";
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ zstd ] ++ lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.Security
-  ];
+  buildInputs =
+    [ zstd ]
+    ++ lib.optionals stdenv.isDarwin [
+      darwin.apple_sdk.frameworks.Security
+      darwin.apple_sdk.frameworks.SystemConfiguration
+    ];
 
   env = {
     ZSTD_SYS_USE_PKG_CONFIG = true;
@@ -34,8 +38,15 @@ rustPlatform.buildRustPackage rec {
     description = "Cargo plugin to generate list of all licenses for a crate";
     homepage = "https://github.com/EmbarkStudios/cargo-about";
     changelog = "https://github.com/EmbarkStudios/cargo-about/blob/${version}/CHANGELOG.md";
-    license = with licenses; [ mit /* or */ asl20 ];
-    maintainers = with maintainers; [ evanjs figsoda matthiasbeyer ];
+    license = with licenses; [
+      mit # or
+      asl20
+    ];
+    maintainers = with maintainers; [
+      evanjs
+      figsoda
+      matthiasbeyer
+    ];
     mainProgram = "cargo-about";
   };
 }
diff --git a/pkgs/development/tools/rust/cargo-all-features/default.nix b/pkgs/development/tools/rust/cargo-all-features/default.nix
index b4ba6b52afad9..bb00a230a85e8 100644
--- a/pkgs/development/tools/rust/cargo-all-features/default.nix
+++ b/pkgs/development/tools/rust/cargo-all-features/default.nix
@@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-d69jj2FGptjndJG1tq3Fb/8F3kuFXN5otsYGhXYhhZg=";
 
   meta = with lib; {
-    description = "A Cargo subcommand to build and test all feature flag combinations";
+    description = "Cargo subcommand to build and test all feature flag combinations";
     homepage = "https://github.com/frewsxcv/cargo-all-features";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ figsoda matthiasbeyer ];
diff --git a/pkgs/development/tools/rust/cargo-benchcmp/default.nix b/pkgs/development/tools/rust/cargo-benchcmp/default.nix
index c12d496e1315b..4ab9cb65d6f5c 100644
--- a/pkgs/development/tools/rust/cargo-benchcmp/default.nix
+++ b/pkgs/development/tools/rust/cargo-benchcmp/default.nix
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A small utility to compare Rust micro-benchmarks";
+    description = "Small utility to compare Rust micro-benchmarks";
     mainProgram = "cargo-benchcmp";
     homepage = "https://github.com/BurntSushi/cargo-benchcmp";
     license = with licenses; [ mit unlicense ];
diff --git a/pkgs/development/tools/rust/cargo-binstall/default.nix b/pkgs/development/tools/rust/cargo-binstall/default.nix
index b537a8056cf31..ed32060f7f218 100644
--- a/pkgs/development/tools/rust/cargo-binstall/default.nix
+++ b/pkgs/development/tools/rust/cargo-binstall/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-binstall";
-  version = "1.6.5";
+  version = "1.6.9";
 
   src = fetchFromGitHub {
     owner = "cargo-bins";
     repo = "cargo-binstall";
     rev = "v${version}";
-    hash = "sha256-DD9tecF6oZOg501DUMm5KEPC2BOxMa78YGIXLvhsRys=";
+    hash = "sha256-gByMCbh/RswZFrGY176PcZbBeHRsD0mv8Om4xQ/1wTo=";
   };
 
-  cargoHash = "sha256-veVE4THR58DAOo0CqMCnN3EqCOEge8K0PvLM0KgHDnI=";
+  cargoHash = "sha256-GPDDKFM2dxsjQcrNK7y2lydnqGnFBUMcDJZ420jmzlo=";
 
   nativeBuildInputs = [
     pkg-config
@@ -55,7 +55,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A tool for installing rust binaries as an alternative to building from source";
+    description = "Tool for installing rust binaries as an alternative to building from source";
     mainProgram = "cargo-binstall";
     homepage = "https://github.com/cargo-bins/cargo-binstall";
     changelog = "https://github.com/cargo-bins/cargo-binstall/releases/tag/v${version}";
diff --git a/pkgs/development/tools/rust/cargo-bisect-rustc/default.nix b/pkgs/development/tools/rust/cargo-bisect-rustc/default.nix
index 5c7d0d57fde0b..9babac9ebadee 100644
--- a/pkgs/development/tools/rust/cargo-bisect-rustc/default.nix
+++ b/pkgs/development/tools/rust/cargo-bisect-rustc/default.nix
@@ -1,13 +1,14 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, rustPlatform
-, pkg-config
-, openssl
-, runCommand
-, patchelf
-, zlib
-, Security
+{
+  stdenv,
+  lib,
+  fetchFromGitHub,
+  darwin,
+  rustPlatform,
+  pkg-config,
+  openssl,
+  runCommand,
+  patchelf,
+  zlib,
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -23,41 +24,46 @@ rustPlatform.buildRustPackage rec {
 
   patches =
     let
-      patchelfPatch = runCommand "0001-dynamically-patchelf-binaries.patch"
-        {
-          CC = stdenv.cc;
-          patchelf = patchelf;
-          libPath = "$ORIGIN/../lib:${lib.makeLibraryPath [ zlib ]}";
-        }
-        ''
-          export dynamicLinker=$(cat $CC/nix-support/dynamic-linker)
-          substitute ${./0001-dynamically-patchelf-binaries.patch} $out \
-            --subst-var patchelf \
-            --subst-var dynamicLinker \
-            --subst-var libPath
-        '';
+      patchelfPatch =
+        runCommand "0001-dynamically-patchelf-binaries.patch"
+          {
+            CC = stdenv.cc;
+            patchelf = patchelf;
+            libPath = "$ORIGIN/../lib:${lib.makeLibraryPath [ zlib ]}";
+          }
+          ''
+            export dynamicLinker=$(cat $CC/nix-support/dynamic-linker)
+            substitute ${./0001-dynamically-patchelf-binaries.patch} $out \
+              --subst-var patchelf \
+              --subst-var dynamicLinker \
+              --subst-var libPath
+          '';
     in
     lib.optionals stdenv.isLinux [ patchelfPatch ];
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [
-    openssl
-  ] ++ lib.optionals stdenv.isDarwin [
-    Security
-  ];
+  buildInputs =
+    [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [
+      darwin.apple_sdk.frameworks.Security
+      darwin.apple_sdk.frameworks.SystemConfiguration
+    ];
 
   cargoHash = "sha256-CgEs0cejquFRY3VN6CgbE23Gipg+LEuWp/jSIkITrjw=";
 
   checkFlags = [
-    "--skip test_github"  # requires internet
+    "--skip test_github" # requires internet
   ];
 
   meta = with lib; {
     description = "Bisects rustc, either nightlies or CI artifacts";
     mainProgram = "cargo-bisect-rustc";
     homepage = "https://github.com/rust-lang/cargo-bisect-rustc";
-    license = with licenses; [ asl20 mit ];
+    license = with licenses; [
+      asl20
+      mit
+    ];
     maintainers = with maintainers; [ davidtwco ];
   };
 }
diff --git a/pkgs/development/tools/rust/cargo-bolero/default.nix b/pkgs/development/tools/rust/cargo-bolero/default.nix
index c242732b237bb..550ced495ef20 100644
--- a/pkgs/development/tools/rust/cargo-bolero/default.nix
+++ b/pkgs/development/tools/rust/cargo-bolero/default.nix
@@ -1,18 +1,22 @@
-{ lib, rustPlatform, fetchCrate, libbfd, libopcodes, libunwind }:
+{ lib, rustPlatform, fetchCrate, libbfd, libopcodes, libunwind, nix-update-script }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-bolero";
-  version = "0.9.0";
+  version = "0.11.2";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-BuqbM55P/st+4XUSCwrqILUUCfwvSlxhKQFO+IZLa8U=";
+    sha256 = "sha256-Xcu91CbIDBLSojWQJjvdFWJiqjMteAxF105lemCAipk=";
   };
 
-  cargoSha256 = "sha256-+TxMOKoId13meXqmr1QjDZMNqBnPEDQF1VSPheq8Ji0=";
+  cargoSha256 = "sha256-QLtf42Il+XHWeaUdh8jNNWU1sXaVe82sYOKiHLoXw2M=";
 
   buildInputs = [ libbfd libopcodes libunwind ];
 
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
   meta = with lib; {
     description = "Fuzzing and property testing front-end framework for Rust";
     mainProgram = "cargo-bolero";
diff --git a/pkgs/development/tools/rust/cargo-c/default.nix b/pkgs/development/tools/rust/cargo-c/default.nix
index b370f1299277e..8dbd282555d6b 100644
--- a/pkgs/development/tools/rust/cargo-c/default.nix
+++ b/pkgs/development/tools/rust/cargo-c/default.nix
@@ -46,7 +46,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A cargo subcommand to build and install C-ABI compatible dynamic and static libraries";
+    description = "Cargo subcommand to build and install C-ABI compatible dynamic and static libraries";
     longDescription = ''
       Cargo C-ABI helpers. A cargo applet that produces and installs a correct
       pkg-config file, a static library and a dynamic library, and a C header
diff --git a/pkgs/development/tools/rust/cargo-careful/default.nix b/pkgs/development/tools/rust/cargo-careful/default.nix
index a4d5abfd0233f..0b43bb3ec44ec 100644
--- a/pkgs/development/tools/rust/cargo-careful/default.nix
+++ b/pkgs/development/tools/rust/cargo-careful/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-careful";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "RalfJung";
     repo = "cargo-careful";
     rev = "v${version}";
-    hash = "sha256-oiwR6NgHHu9B1L6dSK6KZfgcSdwBPEzUZONwPHr0a4k=";
+    hash = "sha256-Yye1Dz6XTh7bWz63zENQ0QDbYbulO6SnRV7g/6mMgUw=";
   };
 
-  cargoHash = "sha256-sVIAY9eYlpyS/PU6kLInc4hMeD3qcewoMbTH+wTIBuI=";
+  cargoHash = "sha256-syj3Hf+DxPoJgNbZQERHaKAZwMYuCCmuEGb8ylQt1Xo=";
 
   meta = with lib; {
-    description = "A tool to execute Rust code carefully, with extra checking along the way";
+    description = "Tool to execute Rust code carefully, with extra checking along the way";
     mainProgram = "cargo-careful";
     homepage = "https://github.com/RalfJung/cargo-careful";
     license = with licenses; [ asl20 mit ];
diff --git a/pkgs/development/tools/rust/cargo-chef/default.nix b/pkgs/development/tools/rust/cargo-chef/default.nix
index 27cc6e1042d78..9269dfa0e6ab7 100644
--- a/pkgs/development/tools/rust/cargo-chef/default.nix
+++ b/pkgs/development/tools/rust/cargo-chef/default.nix
@@ -2,17 +2,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-chef";
-  version = "0.1.66";
+  version = "0.1.67";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-I4lD3+WFaW0kPmw5lPybDCRkG/at6VQH6l7pmngwoLU=";
+    sha256 = "sha256-5bvA3lss+F2Wx0SSx5KRCmpERdIXUkUhFP+zRn8aZH0=";
   };
 
-  cargoHash = "sha256-tSr4m10zS+/JynGmNY0+aoiYDATYwuyfr1VGKmIkHg4=";
+  cargoHash = "sha256-EIpi1k5GffGCk+fzHSW32T+ZLkRfswnEGZdER95TyBk=";
 
   meta = with lib; {
-    description = "A cargo-subcommand to speed up Rust Docker builds using Docker layer caching";
+    description = "Cargo-subcommand to speed up Rust Docker builds using Docker layer caching";
     mainProgram = "cargo-chef";
     homepage = "https://github.com/LukeMathWalker/cargo-chef";
     license = licenses.mit;
diff --git a/pkgs/development/tools/rust/cargo-clone/default.nix b/pkgs/development/tools/rust/cargo-clone/default.nix
index 8ce7e006dce76..21d408ac6b013 100644
--- a/pkgs/development/tools/rust/cargo-clone/default.nix
+++ b/pkgs/development/tools/rust/cargo-clone/default.nix
@@ -34,7 +34,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A cargo subcommand to fetch the source code of a Rust crate";
+    description = "Cargo subcommand to fetch the source code of a Rust crate";
     mainProgram = "cargo-clone";
     homepage = "https://github.com/janlikar/cargo-clone";
     changelog = "https://github.com/janlikar/cargo-clone/blob/v${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/rust/cargo-component/default.nix b/pkgs/development/tools/rust/cargo-component/default.nix
index 7a791f75936e9..bda1fc6d9ce70 100644
--- a/pkgs/development/tools/rust/cargo-component/default.nix
+++ b/pkgs/development/tools/rust/cargo-component/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-component";
-  version = "0.11.0";
+  version = "0.13.2";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = "cargo-component";
     rev = "v${version}";
-    hash = "sha256-XUzXqzgAIZKWNpfyBvkYX/g1R8JcIJlVTUb2N4zL96w=";
+    hash = "sha256-b5PXmycnDGuKFRObz9fRQOCQHlepnPRjMGtSzAX6etg=";
   };
 
-  cargoHash = "sha256-U2ocN9UENms0KZQuEu75jmxphyNGz5OYCLrh6vhvKiI=";
+  cargoHash = "sha256-OcWkYSVpbRXXoZfQeglPLWol2IJazYCVAUpurFn37ZE=";
 
   nativeBuildInputs = [
     pkg-config
@@ -34,7 +34,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A Cargo subcommand for creating WebAssembly components based on the component model proposal";
+    description = "Cargo subcommand for creating WebAssembly components based on the component model proposal";
     homepage = "https://github.com/bytecodealliance/cargo-component";
     changelog = "https://github.com/bytecodealliance/cargo-component/releases/tag/${src.rev}";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/rust/cargo-cranky/default.nix b/pkgs/development/tools/rust/cargo-cranky/default.nix
index 78acf1006508f..cb83bf72b528b 100644
--- a/pkgs/development/tools/rust/cargo-cranky/default.nix
+++ b/pkgs/development/tools/rust/cargo-cranky/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-jmyrtaJTdZlffC7i5k7z9BEsHAs1rPTCs2/jgq1Jt6Y=";
 
   meta = with lib; {
-    description = "An easy to configure wrapper for Rust's clippy";
+    description = "Easy to configure wrapper for Rust's clippy";
     mainProgram = "cargo-cranky";
     homepage = "https://github.com/ericseppanen/cargo-cranky";
     changelog = "https://github.com/ericseppanen/cargo-cranky/releases/tag/${src.rev}";
diff --git a/pkgs/development/tools/rust/cargo-crev/default.nix b/pkgs/development/tools/rust/cargo-crev/default.nix
index 832d736a97713..0a2b797610d48 100644
--- a/pkgs/development/tools/rust/cargo-crev/default.nix
+++ b/pkgs/development/tools/rust/cargo-crev/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-crev";
-  version = "0.25.6";
+  version = "0.25.9";
 
   src = fetchFromGitHub {
     owner = "crev-dev";
     repo = "cargo-crev";
     rev = "v${version}";
-    sha256 = "sha256-kMbbUXiU549JwblLzcP4X5rs6Qu8vaLKB5rnZSpKHKQ=";
+    sha256 = "sha256-ZevtYJ1ibSs3an3m1KJNTTquz1w6UfTiFgd1mNHFHWE=";
   };
 
-  cargoHash = "sha256-gUHy8yXTiQd3/7IyVmiq0QqXKF4ZVhF+riryEj/w2NI=";
+  cargoHash = "sha256-QHhfHm2fDFR5BpSnw1wzr3dfCWDTzWNDDdRtj2qOoKE=";
 
   preCheck = ''
     export HOME=$(mktemp -d)
@@ -38,7 +38,7 @@ rustPlatform.buildRustPackage rec {
   nativeCheckInputs = [ git ];
 
   meta = with lib; {
-    description = "A cryptographically verifiable code review system for the cargo (Rust) package manager";
+    description = "Cryptographically verifiable code review system for the cargo (Rust) package manager";
     mainProgram = "cargo-crev";
     homepage = "https://github.com/crev-dev/cargo-crev";
     license = with licenses; [ asl20 mit mpl20 ];
diff --git a/pkgs/development/tools/rust/cargo-cyclonedx/default.nix b/pkgs/development/tools/rust/cargo-cyclonedx/default.nix
index 79f0b5d2eb3db..c9773cbc43cb0 100644
--- a/pkgs/development/tools/rust/cargo-cyclonedx/default.nix
+++ b/pkgs/development/tools/rust/cargo-cyclonedx/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-cyclonedx";
-  version = "0.5.0";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "CycloneDX";
     repo = "cyclonedx-rust-cargo";
     rev = "${pname}-${version}";
-    hash = "sha256-791FZR9dmwVjORrkpm8el+2VMEEKJG+yKKqq+R1I9U4=";
+    hash = "sha256-Hq5yEYikov/+/Vgf4Bn0b23+K6yqefrJOoEbC0YdnFY=";
   };
 
-  cargoHash = "sha256-Cbi1cnUy6HKkgBXVjK0xItx2pzuYVob/Qz4o8eT6Fws=";
+  cargoHash = "sha256-Q6Qanjfu5rIIZw4KeZo0kHJML5aq+12Lkn7CTscK8yE=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/rust/cargo-deb/default.nix b/pkgs/development/tools/rust/cargo-deb/default.nix
index 236fd2f3e0252..693b92d746766 100644
--- a/pkgs/development/tools/rust/cargo-deb/default.nix
+++ b/pkgs/development/tools/rust/cargo-deb/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deb";
-  version = "2.1.1";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "kornelski";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-FIBMwLgLLgf6m/ciSlYiQ46HHf1ux0QY4RkoidlaEjs=";
+    hash = "sha256-iXqYaRDRaqmI7Y3oEE1fFKYFX/+7Rt3qpzpQ5+l8Z3w=";
   };
 
-  cargoHash = "sha256-MmHwaodr/FLxCucfCkV/Cuflyu8902kpEPuTCKkchNU=";
+  cargoHash = "sha256-LRE18jzgx/aONJkeqzEyDWrWNyp/FmxUGmOy3A9vA7Q=";
 
   nativeBuildInputs = [
     makeWrapper
@@ -34,7 +34,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A cargo subcommand that generates Debian packages from information in Cargo.toml";
+    description = "Cargo subcommand that generates Debian packages from information in Cargo.toml";
     mainProgram = "cargo-deb";
     homepage = "https://github.com/kornelski/cargo-deb";
     license = licenses.mit;
diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix
index ad3827bc74941..7a88815b2c1d6 100644
--- a/pkgs/development/tools/rust/cargo-deny/default.nix
+++ b/pkgs/development/tools/rust/cargo-deny/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deny";
-  version = "0.14.22";
+  version = "0.14.24";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = "cargo-deny";
     rev = version;
-    hash = "sha256-04CRMlH31MzYpE2pRUrbAvSojbxan4ktqX9J/zjeTkk=";
+    hash = "sha256-pCgOT1czLTlL3u4mqhQroal9Z5FHxnBR0YLx3wqp7ps=";
   };
 
-  cargoHash = "sha256-Nutx3Dvvh7qvgAtengWw0kJve4Ent9y7OXgovUZWTLE=";
+  cargoHash = "sha256-LCdP9i+LogdPVVCI4UIhqGRy6H3GTMpEwX2QOlXbo8Q=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/rust/cargo-depgraph/default.nix b/pkgs/development/tools/rust/cargo-depgraph/default.nix
index 1918501d1d92d..c4379974a6abb 100644
--- a/pkgs/development/tools/rust/cargo-depgraph/default.nix
+++ b/pkgs/development/tools/rust/cargo-depgraph/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-depgraph";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromSourcehut {
     owner = "~jplatte";
     repo = "cargo-depgraph";
     rev = "v${version}";
-    hash = "sha256-q9a7O6lSsQz9nJ82uG1oNyNyNebzXEanVWh3xkypqqM=";
+    hash = "sha256-yvcKRESX2W1oLmQvkl07iG8+I74qDKsaS3amM4pZU8s=";
   };
 
-  cargoHash = "sha256-gmSNYxyizaVvz38R0nTdUp9nP/f4hxgHO9hVV3RFP6U=";
+  cargoHash = "sha256-OJOw0V4u/bK4vw3bU2wKVeOqP205ehfZMKJ6qIpYDLU=";
 
   meta = with lib; {
     description = "Create dependency graphs for cargo projects using `cargo metadata` and graphviz";
diff --git a/pkgs/development/tools/rust/cargo-dephell/default.nix b/pkgs/development/tools/rust/cargo-dephell/default.nix
index fd1bd84836f6c..1302fd581bbec 100644
--- a/pkgs/development/tools/rust/cargo-dephell/default.nix
+++ b/pkgs/development/tools/rust/cargo-dephell/default.nix
@@ -48,7 +48,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A tool to analyze the third-party dependencies imported by a rust crate or rust workspace";
+    description = "Tool to analyze the third-party dependencies imported by a rust crate or rust workspace";
     mainProgram = "cargo-dephell";
     homepage = "https://github.com/mimoo/cargo-dephell";
     license = with licenses; [ mit /* or */ asl20 ];
diff --git a/pkgs/development/tools/rust/cargo-dist/default.nix b/pkgs/development/tools/rust/cargo-dist/default.nix
index 04aae84d0d860..50eb5146262e9 100644
--- a/pkgs/development/tools/rust/cargo-dist/default.nix
+++ b/pkgs/development/tools/rust/cargo-dist/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-dist";
-  version = "0.13.2";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "axodotdev";
     repo = "cargo-dist";
     rev = "v${version}";
-    hash = "sha256-sD3Y/FFfUgMtvBoSP0BBhS5aCZy+TkyO8S28q8Hoc5I=";
+    hash = "sha256-KF8fdUfAXfSLIzt9+7sgbrDgKe+6478eXCGFxxX/WC0=";
   };
 
-  cargoHash = "sha256-efVhaL1yUEpOgNZ4Bog1OB37lT1yQHJVE9M938jnGeE=";
+  cargoHash = "sha256-jrHcr/YsMTEk+X1/puausYI75Ozqdi8hol7sRFUJkPU=";
 
   nativeBuildInputs = [
     pkg-config
@@ -54,7 +54,7 @@ rustPlatform.buildRustPackage rec {
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
-    description = "A tool for building final distributable artifacts and uploading them to an archive";
+    description = "Tool for building final distributable artifacts and uploading them to an archive";
     mainProgram = "cargo-dist";
     homepage = "https://github.com/axodotdev/cargo-dist";
     changelog = "https://github.com/axodotdev/cargo-dist/blob/${src.rev}/CHANGELOG.md";
diff --git a/pkgs/development/tools/rust/cargo-duplicates/default.nix b/pkgs/development/tools/rust/cargo-duplicates/default.nix
index d2f3b9c7a09da..f9417651cf6aa 100644
--- a/pkgs/development/tools/rust/cargo-duplicates/default.nix
+++ b/pkgs/development/tools/rust/cargo-duplicates/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-duplicates";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "Keruspe";
     repo = "cargo-duplicates";
     rev = "v${version}";
-    hash = "sha256-e0cegK4obUVIJyx5XKF+xicvkRvQwuObwB8tprrJnrw=";
+    hash = "sha256-OwytBecRGizkDC2S92FKAy3/mc4Jg/NwaYIPahfiG6k=";
   };
 
-  cargoHash = "sha256-i1IyHCa/w4DOGlPWjDE4IbVm3s/40DIwjwUGIMTYH4Y=";
+  cargoHash = "sha256-LsdzHCQ4uG6+dwiUoC36VPuqUf8oPlcMHxNgdkvYzu8=";
 
   nativeBuildInputs = [
     curl
@@ -38,7 +38,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A cargo subcommand for displaying when different versions of a same dependency are pulled in";
+    description = "Cargo subcommand for displaying when different versions of a same dependency are pulled in";
     mainProgram = "cargo-duplicates";
     homepage = "https://github.com/Keruspe/cargo-duplicates";
     license = licenses.mit;
diff --git a/pkgs/development/tools/rust/cargo-edit/default.nix b/pkgs/development/tools/rust/cargo-edit/default.nix
index 26d8bc1aa1723..6b911251501bd 100644
--- a/pkgs/development/tools/rust/cargo-edit/default.nix
+++ b/pkgs/development/tools/rust/cargo-edit/default.nix
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false; # integration tests depend on changing cargo config
 
   meta = with lib; {
-    description = "A utility for managing cargo dependencies from the command line";
+    description = "Utility for managing cargo dependencies from the command line";
     homepage = "https://github.com/killercup/cargo-edit";
     changelog = "https://github.com/killercup/cargo-edit/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
diff --git a/pkgs/development/tools/rust/cargo-geiger/default.nix b/pkgs/development/tools/rust/cargo-geiger/default.nix
deleted file mode 100644
index 3fbf1af9ad46d..0000000000000
--- a/pkgs/development/tools/rust/cargo-geiger/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, rustPlatform
-, pkg-config
-, openssl
-  # darwin dependencies
-, darwin
-, libiconv
-, curl
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "cargo-geiger";
-  version = "0.11.6";
-
-  src = fetchFromGitHub {
-    owner = "rust-secure-code";
-    repo = pname;
-    rev = "${pname}-${version}";
-    sha256 = "sha256-rGZJyCWGk2RUr52ICp4dVER3JMBrnLdOMusRm/GG2PE=";
-  };
-  cargoHash = "sha256-B6Ka35y2fJEDVd891P60TNppr5HGFnzVjLhhfoFCYUA=";
-
-  buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation Security libiconv curl ]);
-  nativeBuildInputs = [ pkg-config ]
-    # curl-sys wants to run curl-config on darwin
-    ++ lib.optionals stdenv.isDarwin [ curl.dev ];
-
-  # skip tests with networking or other failures
-  checkFlags = [
-    "--skip serialize_test2_quick_report"
-    "--skip serialize_test3_quick_report"
-    "--skip serialize_test6_quick_report"
-    "--skip serialize_test2_report"
-    "--skip serialize_test3_report"
-    "--skip serialize_test6_report"
-    # multiple test cases that time-out or cause memory leaks
-    "--skip test_package"
-    "--skip test_package_update_readme::case_2"
-    "--skip test_package_update_readme::case_3"
-    "--skip test_package_update_readme::case_5"
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/rust-secure-code/cargo-geiger";
-    changelog = "https://github.com/rust-secure-code/cargo-geiger/blob/${pname}-${version}/CHANGELOG.md";
-    description = "Detects usage of unsafe Rust in a Rust crate and its dependencies";
-    mainProgram = "cargo-geiger";
-    longDescription = ''
-      A cargo plugin that detects the usage of unsafe Rust in a Rust crate and
-      its dependencies. It provides information to aid auditing and guide
-      dependency selection but it can not help you decide when and why unsafe
-      code is appropriate.
-    '';
-    license = with licenses; [ asl20 /* or */ mit ];
-    maintainers = with maintainers; [ evanjs jk matthiasbeyer ];
-  };
-}
diff --git a/pkgs/development/tools/rust/cargo-generate/default.nix b/pkgs/development/tools/rust/cargo-generate/default.nix
index a63d82ddf2951..716f9e9778155 100644
--- a/pkgs/development/tools/rust/cargo-generate/default.nix
+++ b/pkgs/development/tools/rust/cargo-generate/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-generate";
-  version = "0.21.0";
+  version = "0.21.1";
 
   src = fetchFromGitHub {
     owner = "cargo-generate";
     repo = "cargo-generate";
     rev = "v${version}";
-    sha256 = "sha256-utJYgbmCLi7rWKsRDZqJDCtEbVijAjnMqpYoALKO+Ho=";
+    sha256 = "sha256-Pza1MK5yWpuNfaaFAJy5/Pf+t0TN1Hzc5wKcpmMpEf0=";
   };
 
-  cargoHash = "sha256-9rgdpoXNKaw850EnK6jDwT+jba/B/66PqQackx2knuk=";
+  cargoHash = "sha256-b6WfsDTAZgxA977JhdlafE+POPvMLl8Z7CzEf+L2+Us=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -53,7 +53,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A tool to generate a new Rust project by leveraging a pre-existing git repository as a template";
+    description = "Tool to generate a new Rust project by leveraging a pre-existing git repository as a template";
     mainProgram = "cargo-generate";
     homepage = "https://github.com/cargo-generate/cargo-generate";
     changelog = "https://github.com/cargo-generate/cargo-generate/blob/v${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/rust/cargo-guppy/default.nix b/pkgs/development/tools/rust/cargo-guppy/default.nix
index 488c4284b1756..b373b584d9da2 100644
--- a/pkgs/development/tools/rust/cargo-guppy/default.nix
+++ b/pkgs/development/tools/rust/cargo-guppy/default.nix
@@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
   cargoTestFlags = [ "-p" "cargo-guppy" ];
 
   meta = with lib; {
-    description = "A command-line frontend for guppy";
+    description = "Command-line frontend for guppy";
     mainProgram = "cargo-guppy";
     homepage = "https://github.com/guppy-rs/guppy/tree/main/cargo-guppy";
     license = with licenses; [ mit /* or */ asl20 ];
diff --git a/pkgs/development/tools/rust/cargo-hakari/default.nix b/pkgs/development/tools/rust/cargo-hakari/default.nix
index 6cf225e8de605..6ae5123da7cfa 100644
--- a/pkgs/development/tools/rust/cargo-hakari/default.nix
+++ b/pkgs/development/tools/rust/cargo-hakari/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   cargoTestFlags = [ "-p" "cargo-hakari" ];
 
   meta = with lib; {
-    description = "Manage workspace-hack packages to speed up builds in large workspaces.";
+    description = "Manage workspace-hack packages to speed up builds in large workspaces";
     mainProgram = "cargo-hakari";
     longDescription = ''
       cargo hakari is a command-line application to manage workspace-hack crates.
diff --git a/pkgs/development/tools/rust/cargo-insta/default.nix b/pkgs/development/tools/rust/cargo-insta/default.nix
index 50fc9abaac4d3..7ff2bb737987b 100644
--- a/pkgs/development/tools/rust/cargo-insta/default.nix
+++ b/pkgs/development/tools/rust/cargo-insta/default.nix
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-mEtmZ+wFo1WI1IMNYsVqSVScFDLdiXBbghH7c0l/3NQ=";
 
   meta = with lib; {
-    description = "A Cargo subcommand for snapshot testing";
+    description = "Cargo subcommand for snapshot testing";
     mainProgram = "cargo-insta";
     homepage = "https://github.com/mitsuhiko/insta";
     changelog = "https://github.com/mitsuhiko/insta/blob/${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/rust/cargo-lambda/default.nix b/pkgs/development/tools/rust/cargo-lambda/default.nix
index 00892e673b65d..de65c284eb979 100644
--- a/pkgs/development/tools/rust/cargo-lambda/default.nix
+++ b/pkgs/development/tools/rust/cargo-lambda/default.nix
@@ -65,7 +65,7 @@ rustPlatform.buildRustPackage rec {
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
-    description = "A Cargo subcommand to help you work with AWS Lambda";
+    description = "Cargo subcommand to help you work with AWS Lambda";
     mainProgram = "cargo-lambda";
     homepage = "https://cargo-lambda.info";
     license = licenses.mit;
diff --git a/pkgs/development/tools/rust/cargo-leptos/default.nix b/pkgs/development/tools/rust/cargo-leptos/default.nix
index 89139182c6b86..da48ad231e34b 100644
--- a/pkgs/development/tools/rust/cargo-leptos/default.nix
+++ b/pkgs/development/tools/rust/cargo-leptos/default.nix
@@ -37,7 +37,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false; # Check phase tries to query crates.io
 
   meta = with lib; {
-    description = "A build tool for the Leptos web framework";
+    description = "Build tool for the Leptos web framework";
     mainProgram = "cargo-leptos";
     homepage = "https://github.com/leptos-rs/cargo-leptos";
     changelog = "https://github.com/leptos-rs/cargo-leptos/releases/tag/v${version}";
diff --git a/pkgs/development/tools/rust/cargo-llvm-cov/default.nix b/pkgs/development/tools/rust/cargo-llvm-cov/default.nix
index da2ed090392e1..5bced7f36e9cf 100644
--- a/pkgs/development/tools/rust/cargo-llvm-cov/default.nix
+++ b/pkgs/development/tools/rust/cargo-llvm-cov/default.nix
@@ -26,7 +26,7 @@
 
 let
   pname = "cargo-llvm-cov";
-  version = "0.6.9";
+  version = "0.6.10";
 
   owner = "taiki-e";
   homepage = "https://github.com/${owner}/${pname}";
@@ -37,7 +37,7 @@ let
   cargoLock = fetchurl {
     name = "Cargo.lock";
     url = "https://crates.io/api/v1/crates/${pname}/${version}/download";
-    sha256 = "sha256-r4C7z2/z4OVEf+IhFe061E7FzSx0VzADmg56Lb+DO/g=";
+    sha256 = "sha256-mlmvM/7FQkhSjLtueEJqZU3D86lL8Kf1EFXiY1+b/Oo=";
     downloadToTemp = true;
     postFetch = ''
       tar xzf $downloadedFile ${pname}-${version}/Cargo.lock
@@ -55,7 +55,7 @@ rustPlatform.buildRustPackage {
     inherit owner;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fZrYmsulKOvgW/WtsYL7r4Cby+m9ShgXozxj1ZQ5ZAY=";
+    sha256 = "sha256-yF4i1V50TpR3pEqHQfAK4VTUW+GmT+XU6WVTWMzCUwo=";
   };
 
   # Upstream doesn't include the lockfile so we need to add it back
@@ -63,7 +63,7 @@ rustPlatform.buildRustPackage {
     cp ${cargoLock} source/Cargo.lock
   '';
 
-  cargoSha256 = "sha256-pfNb5P3IG1fQdhiQE3FGW8s4Rt2YyLxTejuzs3nqZUU=";
+  cargoSha256 = "sha256-6VQEu38g5a8bfbs8P/nOa3Zg2bSYnEOClzoMF95LAHI=";
 
   # `cargo-llvm-cov` reads these environment variables to find these binaries,
   # which are needed to run the tests
diff --git a/pkgs/development/tools/rust/cargo-llvm-lines/default.nix b/pkgs/development/tools/rust/cargo-llvm-lines/default.nix
index f3fa51fb21b09..614630549b776 100644
--- a/pkgs/development/tools/rust/cargo-llvm-lines/default.nix
+++ b/pkgs/development/tools/rust/cargo-llvm-lines/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-llvm-lines";
-  version = "0.4.37";
+  version = "0.4.39";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    hash = "sha256-9l6WkPVcc1BTRjmHa3+2Y1buLdHC5VIvpGys0fDwldY=";
+    hash = "sha256-iy8bZvF3JYnlABzhmsrzo89pmKAWQYVNSZ9HoplpWiY=";
   };
 
-  cargoHash = "sha256-MbjV3O9yDC8GHWdhWh4/sO+QfAd3kw3K5wLkZ8OlXIU=";
+  cargoHash = "sha256-vFj7U+30dcLkFJ1eet6lykTcJHzKWOSzAqPqKJrp6Gg=";
 
   meta = with lib; {
     description = "Count the number of lines of LLVM IR across all instantiations of a generic function";
diff --git a/pkgs/development/tools/rust/cargo-local-registry/default.nix b/pkgs/development/tools/rust/cargo-local-registry/default.nix
index 0b2f31d05a805..7c2d2f3004b34 100644
--- a/pkgs/development/tools/rust/cargo-local-registry/default.nix
+++ b/pkgs/development/tools/rust/cargo-local-registry/default.nix
@@ -42,13 +42,8 @@ rustPlatform.buildRustPackage rec {
   # tests require internet access
   doCheck = false;
 
-  # Cargo.lock is outdated
-  preConfigure = ''
-    cargo metadata --offline
-  '';
-
   meta = with lib; {
-    description = "A cargo subcommand to manage local registries";
+    description = "Cargo subcommand to manage local registries";
     mainProgram = "cargo-local-registry";
     homepage = "https://github.com/dhovart/cargo-local-registry";
     changelog = "https://github.com/dhovart/cargo-local-registry/releases/tag/${src.rev}";
diff --git a/pkgs/development/tools/rust/cargo-machete/default.nix b/pkgs/development/tools/rust/cargo-machete/default.nix
index a94272f958085..aadd97f30a951 100644
--- a/pkgs/development/tools/rust/cargo-machete/default.nix
+++ b/pkgs/development/tools/rust/cargo-machete/default.nix
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A Cargo tool that detects unused dependencies in Rust projects";
+    description = "Cargo tool that detects unused dependencies in Rust projects";
     mainProgram = "cargo-machete";
     homepage = "https://github.com/bnjbvr/cargo-machete";
     changelog = "https://github.com/bnjbvr/cargo-machete/blob/${src.rev}/CHANGELOG.md";
diff --git a/pkgs/development/tools/rust/cargo-mobile2/default.nix b/pkgs/development/tools/rust/cargo-mobile2/default.nix
index 1aecd6d91973b..9b5d535ec50a5 100644
--- a/pkgs/development/tools/rust/cargo-mobile2/default.nix
+++ b/pkgs/development/tools/rust/cargo-mobile2/default.nix
@@ -12,7 +12,7 @@
 let
   inherit (darwin.apple_sdk.frameworks) CoreServices;
   pname = "cargo-mobile2";
-  version = "0.11.1";
+  version = "0.12.2";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -20,14 +20,14 @@ rustPlatform.buildRustPackage {
     owner = "tauri-apps";
     repo = pname;
     rev = "cargo-mobile2-v${version}";
-    hash = "sha256-HLDuWEKLij1hTKxf3lrAb4d2DIHzzkj4kuiZXgQwH4Q=";
+    hash = "sha256-AEAE6UDWf1Kupy20MDOOCovsIJJlFAILBW6qpToVQVM=";
   };
 
   # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at
   # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202
   # sourceRoot = "${src.name}/tooling/cli";
 
-  cargoHash = "sha256-jCsP5xhNkqnwz8HocUzzf17omU8WDNrL/WVj/lP+51w=";
+  cargoHash = "sha256-2bQ8QGVQoWj3mVm2y85ynrzL6IJ+BEatVLQy/huAEic=";
 
   preBuild = ''
     mkdir -p $out/share/
diff --git a/pkgs/development/tools/rust/cargo-modules/default.nix b/pkgs/development/tools/rust/cargo-modules/default.nix
index 6fa78cef0b4d0..2745b9c586b9b 100644
--- a/pkgs/development/tools/rust/cargo-modules/default.nix
+++ b/pkgs/development/tools/rust/cargo-modules/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-modules";
-  version = "0.15.5";
+  version = "0.16.3";
 
   src = fetchFromGitHub {
     owner = "regexident";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-+jHanZ2/BIgNLUpMlibfUAVfA6QTPlavRci2YD1w3zE=";
+    hash = "sha256-6JFQuFISIKmR+dm2YYb4iwBjR61WrcLpfwcC67a96t4=";
   };
 
-  cargoHash = "sha256-umaKVs1fFiUKz2HIJuB+7skSwRQbG12dl9eD+et42go=";
+  cargoHash = "sha256-TiSiOMBkmH4Y5VORXZ59fl9+EwOjfWV2n/r3LTmSFxQ=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.CoreServices
@@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A cargo plugin for showing a tree-like overview of a crate's modules";
+    description = "Cargo plugin for showing a tree-like overview of a crate's modules";
     mainProgram = "cargo-modules";
     homepage = "https://github.com/regexident/cargo-modules";
     changelog = "https://github.com/regexident/cargo-modules/blob/${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/rust/cargo-mutants/default.nix b/pkgs/development/tools/rust/cargo-mutants/default.nix
index fd83af91f15e7..e712518ece890 100644
--- a/pkgs/development/tools/rust/cargo-mutants/default.nix
+++ b/pkgs/development/tools/rust/cargo-mutants/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-mutants";
-  version = "24.4.0";
+  version = "24.5.0";
 
   src = fetchFromGitHub {
     owner = "sourcefrog";
     repo = "cargo-mutants";
     rev = "v${version}";
-    hash = "sha256-u59NnxDFQN92BMkm2sHy8OhundFJElJ2H1SgdeLpOMs=";
+    hash = "sha256-qKgHlFb7sraXTpqf6QsOspzHGWtVZAUSOl3rl6pqQJk=";
   };
 
-  cargoHash = "sha256-7dLpqhT3v7b0I1wmn7Q6IL1M5Ul/Mu9xxrdwlI2xKAs=";
+  cargoHash = "sha256-h9nhE7pSwxE2NKJQtlA6Exwh36pC6Lp0y3u0AEh39N4=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.SystemConfiguration
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A mutation testing tool for Rust";
+    description = "Mutation testing tool for Rust";
     mainProgram = "cargo-mutants";
     homepage = "https://github.com/sourcefrog/cargo-mutants";
     changelog = "https://github.com/sourcefrog/cargo-mutants/releases/tag/${src.rev}";
diff --git a/pkgs/development/tools/rust/cargo-ndk/default.nix b/pkgs/development/tools/rust/cargo-ndk/default.nix
index 12b0b7bbdfbf3..b1068127483bb 100644
--- a/pkgs/development/tools/rust/cargo-ndk/default.nix
+++ b/pkgs/development/tools/rust/cargo-ndk/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-ndk";
-  version = "3.4.0";
+  version = "3.5.6";
 
   src = fetchFromGitHub {
     owner = "bbqsrc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PdRiiGRYdbnViK34PnYoLFteipoK2arw79IVOQnJKNE=";
+    sha256 = "sha256-piNKtmDssDeB+DznLl0uufT5BFiVCMmYGuRmBUr5QWQ=";
   };
 
-  cargoHash = "sha256-6rQwyogm62xx9JmDWfRtCpF1Rqjtt5SDYUdtZBfryuw=";
+  cargoHash = "sha256-sIKan8LnGv4sGVrGOUOKSD3R4fNRu5yBFATm5MWDTSU=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     CoreGraphics
diff --git a/pkgs/development/tools/rust/cargo-nextest/default.nix b/pkgs/development/tools/rust/cargo-nextest/default.nix
index de0af79902080..00515c2252af6 100644
--- a/pkgs/development/tools/rust/cargo-nextest/default.nix
+++ b/pkgs/development/tools/rust/cargo-nextest/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-nextest";
-  version = "0.9.70";
+  version = "0.9.72";
 
   src = fetchFromGitHub {
     owner = "nextest-rs";
     repo = "nextest";
     rev = "cargo-nextest-${version}";
-    hash = "sha256-YTeKcdUszI/0RCAq6Gcakl3hfUSUo3CfVCMod/IPYhw=";
+    hash = "sha256-FQM1SVzGgmu6HHijP9kKEJPhhzSLs/jo36b4qnx0lb4=";
   };
 
-  cargoHash = "sha256-FH9ODkK84bPPYyHP4kKcHKWpJ3FV1NC8S/NQFvV63Gw=";
+  cargoHash = "sha256-2ttG9lPIkLRzDPcDNZjROOIIDhcEHfBvs/DTniZtQUY=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.SystemConfiguration
diff --git a/pkgs/development/tools/rust/cargo-outdated/default.nix b/pkgs/development/tools/rust/cargo-outdated/default.nix
index 1df9d8d916de5..26027a51ab80e 100644
--- a/pkgs/development/tools/rust/cargo-outdated/default.nix
+++ b/pkgs/development/tools/rust/cargo-outdated/default.nix
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A cargo subcommand for displaying when Rust dependencies are out of date";
+    description = "Cargo subcommand for displaying when Rust dependencies are out of date";
     mainProgram = "cargo-outdated";
     homepage = "https://github.com/kbknapp/cargo-outdated";
     changelog = "https://github.com/kbknapp/cargo-outdated/blob/v${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/rust/cargo-pgrx/buildPgrxExtension.nix b/pkgs/development/tools/rust/cargo-pgrx/buildPgrxExtension.nix
index 6aae84d3463bc..f75bab1439363 100644
--- a/pkgs/development/tools/rust/cargo-pgrx/buildPgrxExtension.nix
+++ b/pkgs/development/tools/rust/cargo-pgrx/buildPgrxExtension.nix
@@ -119,7 +119,7 @@ let
 
       NIX_PGLIBDIR="${postgresql}/lib" \
       PGRX_BUILD_FLAGS="--frozen -j $NIX_BUILD_CORES ${builtins.concatStringsSep " " cargoBuildFlags}" \
-      cargo-pgrx pgrx package \
+      cargo pgrx package \
         --pg-config ${postgresql}/bin/pg_config \
         ${maybeDebugFlag} \
         --features "${builtins.concatStringsSep " " buildFeatures}" \
diff --git a/pkgs/development/tools/rust/cargo-profiler/default.nix b/pkgs/development/tools/rust/cargo-profiler/default.nix
deleted file mode 100644
index 595bf6d8d032e..0000000000000
--- a/pkgs/development/tools/rust/cargo-profiler/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ fetchFromGitHub
-, lib
-, rustPlatform }:
-
-let
-  # Constants
-  pname = "cargo-profiler";
-  owner = "svenstaro";
-
-  # Version-specific variables
-  version = "0.2.0";
-  rev = "0a8ab772fd5c0f1579e4847c5d05aa443ffa2bc8";
-  sha256 = "sha256-ZRAbvSMrPtgaWy9RwlykQ3iiPxHCMh/tS5p67/4XqqA=";
-  cargoSha256 = "sha256-qt3S6ZcLEP9ZQoP5+kSQdmBlxdMgGUqLszdU7JkFNVI=";
-
-  inherit (rustPlatform) buildRustPackage;
-in buildRustPackage rec {
-  inherit pname version;
-
-  src = fetchFromGitHub {
-    inherit owner rev sha256;
-    repo = pname;
-  };
-
-  inherit cargoSha256;
-
-  meta = with lib; {
-    description = "Cargo subcommand for profiling Rust binaries";
-    mainProgram = "cargo-profiler";
-    homepage = "https://github.com/svenstaro/cargo-profiler";
-    license = licenses.mit;
-    maintainers = with maintainers; [ lucperkins ];
-  };
-}
diff --git a/pkgs/development/tools/rust/cargo-public-api/default.nix b/pkgs/development/tools/rust/cargo-public-api/default.nix
index 11e5ba601c3e3..4d2fcecfc5de5 100644
--- a/pkgs/development/tools/rust/cargo-public-api/default.nix
+++ b/pkgs/development/tools/rust/cargo-public-api/default.nix
@@ -10,14 +10,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-public-api";
-  version = "0.34.1";
+  version = "0.35.1";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-fNQ4FfOaS38KGhI/hCRLdtYmb0FXkoXyJsbcT+1K6Ow=";
+    hash = "sha256-Jz4sdf/Heh0+rnz2JP5TJFqRPCdi1Km+PSoafkmq/6Y=";
   };
 
-  cargoHash = "sha256-DwhaVn6nuy2KbXaRcIUQN6iS85ONwAbCWX+vxfa0F7U=";
+  cargoHash = "sha256-K45PT28cxYWn7lF/ghhgCXcLA9uZUiI+3WMYeU3bbzM=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-raze/default.nix b/pkgs/development/tools/rust/cargo-raze/default.nix
deleted file mode 100644
index b87d9d4570b6c..0000000000000
--- a/pkgs/development/tools/rust/cargo-raze/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, rustPlatform
-, pkg-config
-, curl
-, libgit2
-, openssl
-, Security
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "cargo-raze";
-  version = "0.16.0";
-
-  src = fetchFromGitHub {
-    owner = "google";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-ip0WuBn1b7uN/pAhOl5tfmToK73ZSHK7rucdtufsbCQ=";
-  };
-  sourceRoot = "${src.name}/impl";
-
-  cargoHash = "sha256-hNZgQwhm4UPqmANplZGxG0DYHa31tu06nmqYaCA7Vdg=";
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    libgit2
-    openssl
-    curl
-  ]
-  ++ lib.optional stdenv.isDarwin Security;
-
-  preCheck = lib.optionalString stdenv.isDarwin ''
-    # Darwin issue: Os { code: 24, kind: Uncategorized, message: "Too many open files" }
-    # https://github.com/google/cargo-raze/issues/544
-    ulimit -n 1024
-  '';
-
-  __darwinAllowLocalNetworking = true;
-
-  meta = with lib; {
-    description = "Generate Bazel BUILD files from Cargo dependencies";
-    homepage = "https://github.com/google/cargo-raze";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ elasticdog ];
-  };
-}
diff --git a/pkgs/development/tools/rust/cargo-readme/default.nix b/pkgs/development/tools/rust/cargo-readme/default.nix
index 2b5fb7abc69b5..aa4a6cf5ea37e 100644
--- a/pkgs/development/tools/rust/cargo-readme/default.nix
+++ b/pkgs/development/tools/rust/cargo-readme/default.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, fetchFromGitHub, fetchpatch }:
+{ lib, rustPlatform, fetchFromGitHub }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-readme";
diff --git a/pkgs/development/tools/rust/cargo-risczero/default.nix b/pkgs/development/tools/rust/cargo-risczero/default.nix
index 51969c9fef967..ead0103d3f659 100644
--- a/pkgs/development/tools/rust/cargo-risczero/default.nix
+++ b/pkgs/development/tools/rust/cargo-risczero/default.nix
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "Cargo extension to help create, manage, and test RISC Zero projects.";
+    description = "Cargo extension to help create, manage, and test RISC Zero projects";
     mainProgram = "cargo-risczero";
     homepage = "https://risczero.com";
     license = with licenses; [ asl20 ];
diff --git a/pkgs/development/tools/rust/cargo-semver-checks/default.nix b/pkgs/development/tools/rust/cargo-semver-checks/default.nix
index 2c3269681d7e4..82fa17b3405a6 100644
--- a/pkgs/development/tools/rust/cargo-semver-checks/default.nix
+++ b/pkgs/development/tools/rust/cargo-semver-checks/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-semver-checks";
-  version = "0.31.0";
+  version = "0.32.0";
 
   src = fetchFromGitHub {
     owner = "obi1kenobi";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-iumHMVDlgwjjQsn0aoSJUPoOKmLztD47b7he2nJhins=";
+    hash = "sha256-2B9i9S6OY+7DEorZoXfQQx9cEU2Y8FoyIyytJ8C7dXU=";
   };
 
-  cargoHash = "sha256-/mrVrbPHi4lo2iu/IWwDYIjqWZYNkm/4lWpRMLKBNpA=";
+  cargoHash = "sha256-S03fgnefhU6c5e9YtFMBart+nfBQj7f4O+lSPe8fgqg=";
 
   nativeBuildInputs = [
     cmake
@@ -51,7 +51,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A tool to scan your Rust crate for semver violations";
+    description = "Tool to scan your Rust crate for semver violations";
     mainProgram = "cargo-semver-checks";
     homepage = "https://github.com/obi1kenobi/cargo-semver-checks";
     changelog = "https://github.com/obi1kenobi/cargo-semver-checks/releases/tag/v${version}";
diff --git a/pkgs/development/tools/rust/cargo-show-asm/default.nix b/pkgs/development/tools/rust/cargo-show-asm/default.nix
index 736d546ff2aae..24b64c0cdf6f7 100644
--- a/pkgs/development/tools/rust/cargo-show-asm/default.nix
+++ b/pkgs/development/tools/rust/cargo-show-asm/default.nix
@@ -9,14 +9,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-show-asm";
-  version = "0.2.34";
+  version = "0.2.36";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-+EzI17pnqO19A+KW1AsHtBpYZq1aENA03RkK03j31LI=";
+    hash = "sha256-Ptv8txt7YXPh1QvFwsoRbBQgeLBGn6iVqst1GHU+JJw=";
   };
 
-  cargoHash = "sha256-VIfT7cXrXBE9mfHpDCI3diSD9ToRPH6UUP7ZOWvumbU=";
+  cargoHash = "sha256-GkhFbRhEJ+7ikqkNPydKx3Ty8KRsGts5UnwA8bl8Po8=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/development/tools/rust/cargo-shuttle/Cargo.lock b/pkgs/development/tools/rust/cargo-shuttle/Cargo.lock
index 944f8e8112df2..c892c4047178c 100644
--- a/pkgs/development/tools/rust/cargo-shuttle/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-shuttle/Cargo.lock
@@ -18,13 +18,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
+name = "aes"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
+dependencies = [
+ "cfg-if",
+ "cipher",
+ "cpufeatures",
+]
+
+[[package]]
 name = "ahash"
-version = "0.8.6"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if",
- "getrandom 0.2.11",
+ "getrandom 0.2.14",
  "once_cell",
  "version_check",
  "zerocopy",
@@ -32,24 +43,18 @@ dependencies = [
 
 [[package]]
 name = "aho-corasick"
-version = "1.1.2"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "allocator-api2"
-version = "0.2.16"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
-
-[[package]]
-name = "ambient-authority"
-version = "0.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9d4ee0d472d1cd2e28c97dfa124b3d8d992e10eb0a035f33f5d12e3a177ba3b"
+checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
 
 [[package]]
 name = "android-tzdata"
@@ -68,9 +73,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.6.4"
+version = "0.6.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -82,9 +87,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.4"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
@@ -97,9 +102,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.1"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3a318f1f38d2418400f8209655bfd825785afd25aa30bb7ba6cc792e4596748"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
 dependencies = [
  "windows-sys 0.52.0",
 ]
@@ -116,21 +121,15 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.75"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
-
-[[package]]
-name = "arbitrary"
-version = "1.3.2"
+version = "1.0.82"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
+checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519"
 
 [[package]]
 name = "arc-swap"
-version = "1.6.0"
+version = "1.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
 
 [[package]]
 name = "arrayvec"
@@ -189,9 +188,9 @@ dependencies = [
 
 [[package]]
 name = "assert_cmd"
-version = "2.0.12"
+version = "2.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88903cb14723e4d4003335bb7f8a14f27691649105346a0f0957466c096adfe6"
+checksum = "ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8"
 dependencies = [
  "anstyle",
  "bstr",
@@ -219,7 +218,7 @@ version = "0.2.3"
 source = "git+https://github.com/shuttle-hq/posthog-rs?branch=main#4a8299fde3080bff550620c0853be9b83fee8f44"
 dependencies = [
  "posthog-core",
- "reqwest",
+ "reqwest 0.11.27",
  "serde",
  "serde_json",
  "thiserror",
@@ -245,7 +244,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -256,8 +255,8 @@ checksum = "e1b39347f478f57a40cbaf82cbaebb4a350acc757cda30fc7ff88707a11d1d81"
 dependencies = [
  "futures-util",
  "http-types",
- "hyper 0.14.27",
- "hyper-rustls",
+ "hyper 0.14.28",
+ "hyper-rustls 0.24.2",
  "serde",
  "serde_json",
  "serde_path_to_error",
@@ -270,13 +269,13 @@ dependencies = [
 
 [[package]]
 name = "async-trait"
-version = "0.1.74"
+version = "0.1.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
+checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -289,20 +288,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "atomic-write-file"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edcdbedc2236483ab103a53415653d6b4442ea6141baf1ffa85df29635e88436"
-dependencies = [
- "nix 0.27.1",
- "rand 0.8.5",
-]
-
-[[package]]
 name = "autocfg"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
 
 [[package]]
 name = "aws-config"
@@ -322,10 +311,10 @@ dependencies = [
  "aws-smithy-types",
  "aws-types",
  "bytes",
- "fastrand 2.0.1",
+ "fastrand 2.0.2",
  "hex",
- "http 0.2.11",
- "hyper 0.14.27",
+ "http 0.2.12",
+ "hyper 0.14.28",
  "ring 0.16.20",
  "time",
  "tokio",
@@ -342,7 +331,7 @@ checksum = "70a66ac8ef5fa9cf01c2d999f39d16812e90ec1467bd382cbbb74ba23ea86201"
 dependencies = [
  "aws-smithy-async",
  "aws-smithy-types",
- "fastrand 2.0.1",
+ "fastrand 2.0.2",
  "tokio",
  "tracing",
  "zeroize",
@@ -359,8 +348,8 @@ dependencies = [
  "aws-smithy-types",
  "aws-types",
  "bytes",
- "http 0.2.11",
- "http-body 0.4.5",
+ "http 0.2.12",
+ "http-body 0.4.6",
  "lazy_static",
  "percent-encoding",
  "pin-project-lite",
@@ -381,8 +370,8 @@ dependencies = [
  "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
- "fastrand 2.0.1",
- "http 0.2.11",
+ "fastrand 2.0.2",
+ "http 0.2.12",
  "percent-encoding",
  "tracing",
  "uuid",
@@ -407,7 +396,7 @@ dependencies = [
  "aws-smithy-types",
  "aws-smithy-xml",
  "aws-types",
- "http 0.2.11",
+ "http 0.2.12",
  "regex",
  "tokio-stream",
  "tracing",
@@ -431,7 +420,7 @@ dependencies = [
  "aws-smithy-types",
  "aws-types",
  "bytes",
- "http 0.2.11",
+ "http 0.2.12",
  "regex",
  "tokio-stream",
  "tracing",
@@ -456,7 +445,7 @@ dependencies = [
  "aws-smithy-types",
  "aws-smithy-xml",
  "aws-types",
- "http 0.2.11",
+ "http 0.2.12",
  "regex",
  "tracing",
 ]
@@ -471,7 +460,7 @@ dependencies = [
  "form_urlencoded",
  "hex",
  "hmac",
- "http 0.2.11",
+ "http 0.2.12",
  "once_cell",
  "percent-encoding",
  "regex",
@@ -503,14 +492,14 @@ dependencies = [
  "aws-smithy-http-tower",
  "aws-smithy-types",
  "bytes",
- "fastrand 2.0.1",
- "http 0.2.11",
- "http-body 0.4.5",
- "hyper 0.14.27",
- "hyper-rustls",
+ "fastrand 2.0.2",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
+ "hyper-rustls 0.24.2",
  "lazy_static",
  "pin-project-lite",
- "rustls",
+ "rustls 0.21.11",
  "tokio",
  "tower",
  "tracing",
@@ -526,9 +515,9 @@ dependencies = [
  "bytes",
  "bytes-utils",
  "futures-core",
- "http 0.2.11",
- "http-body 0.4.5",
- "hyper 0.14.27",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
  "once_cell",
  "percent-encoding",
  "pin-project-lite",
@@ -547,8 +536,8 @@ dependencies = [
  "aws-smithy-http",
  "aws-smithy-types",
  "bytes",
- "http 0.2.11",
- "http-body 0.4.5",
+ "http 0.2.12",
+ "http-body 0.4.6",
  "pin-project-lite",
  "tower",
  "tracing",
@@ -585,9 +574,9 @@ dependencies = [
  "aws-smithy-runtime-api",
  "aws-smithy-types",
  "bytes",
- "fastrand 2.0.1",
- "http 0.2.11",
- "http-body 0.4.5",
+ "fastrand 2.0.2",
+ "http 0.2.12",
+ "http-body 0.4.6",
  "once_cell",
  "pin-project-lite",
  "pin-utils",
@@ -605,7 +594,7 @@ dependencies = [
  "aws-smithy-http",
  "aws-smithy-types",
  "bytes",
- "http 0.2.11",
+ "http 0.2.12",
  "tokio",
  "tracing",
 ]
@@ -644,7 +633,7 @@ dependencies = [
  "aws-smithy-client",
  "aws-smithy-http",
  "aws-smithy-types",
- "http 0.2.11",
+ "http 0.2.12",
  "rustc_version 0.4.0",
  "tracing",
 ]
@@ -657,14 +646,14 @@ checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf"
 dependencies = [
  "async-trait",
  "axum-core",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bitflags 1.3.2",
  "bytes",
  "futures-util",
  "headers",
- "http 0.2.11",
- "http-body 0.4.5",
- "hyper 0.14.27",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
  "itoa",
  "matchit",
  "memchr",
@@ -694,8 +683,8 @@ dependencies = [
  "async-trait",
  "bytes",
  "futures-util",
- "http 0.2.11",
- "http-body 0.4.5",
+ "http 0.2.12",
+ "http-body 0.4.6",
  "mime",
  "rustversion",
  "tower-layer",
@@ -712,8 +701,8 @@ dependencies = [
  "axum-core",
  "bytes",
  "futures-util",
- "http 0.2.11",
- "http-body 0.4.5",
+ "http 0.2.12",
+ "http-body 0.4.6",
  "mime",
  "pin-project-lite",
  "serde",
@@ -732,22 +721,22 @@ dependencies = [
  "arc-swap",
  "bytes",
  "futures-util",
- "http 0.2.11",
- "http-body 0.4.5",
- "hyper 0.14.27",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
  "pin-project-lite",
- "rustls",
- "rustls-pemfile",
+ "rustls 0.21.11",
+ "rustls-pemfile 1.0.4",
  "tokio",
- "tokio-rustls",
+ "tokio-rustls 0.24.1",
  "tower-service",
 ]
 
 [[package]]
 name = "backtrace"
-version = "0.3.69"
+version = "0.3.71"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
 dependencies = [
  "addr2line",
  "cc",
@@ -766,9 +755,15 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
 name = "base64"
-version = "0.21.5"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "base64"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
 
 [[package]]
 name = "base64-simd"
@@ -787,24 +782,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
 
 [[package]]
-name = "basic-toml"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f2139706359229bfa8f19142ac1155b4b80beafb7a60471ac5dd109d4a19778"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "bincode"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
-dependencies = [
- "serde",
-]
-
-[[package]]
 name = "bit-set"
 version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -827,9 +804,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
 dependencies = [
  "serde",
 ]
@@ -861,14 +838,14 @@ version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f03db470b3c0213c47e978da93200259a1eb4dae2e5512cba9955e2b540a6fc6"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "bollard-stubs",
  "bytes",
  "futures-core",
  "futures-util",
  "hex",
- "http 0.2.11",
- "hyper 0.14.27",
+ "http 0.2.12",
+ "hyper 0.14.28",
  "hyperlocal",
  "log",
  "pin-project-lite",
@@ -892,20 +869,20 @@ checksum = "b58071e8fd9ec1e930efd28e3a90c1251015872a2ce49f81f36421b86466932e"
 dependencies = [
  "serde",
  "serde_repr",
- "serde_with 3.4.0",
+ "serde_with 3.7.0",
 ]
 
 [[package]]
 name = "bson"
-version = "2.7.0"
+version = "2.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58da0ae1e701ea752cc46c1bb9f39d5ecefc7395c3ecd526261a566d4f16e0c2"
+checksum = "4d43b38e074cc0de2957f10947e376a1d88b9c4dbab340b590800cc1b2e066b2"
 dependencies = [
  "ahash",
  "base64 0.13.1",
  "bitvec",
  "hex",
- "indexmap 1.9.3",
+ "indexmap 2.2.6",
  "js-sys",
  "once_cell",
  "rand 0.8.5",
@@ -918,29 +895,20 @@ dependencies = [
 
 [[package]]
 name = "bstr"
-version = "1.8.0"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
+checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
 dependencies = [
  "memchr",
- "regex-automata 0.4.3",
+ "regex-automata 0.4.6",
  "serde",
 ]
 
 [[package]]
-name = "btoi"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dd6407f73a9b8b6162d8a2ef999fe6afd7cc15902ebf42c5cd296addf17e0ad"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
 
 [[package]]
 name = "byteorder"
@@ -950,9 +918,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
-version = "1.5.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
 
 [[package]]
 name = "bytes-utils"
@@ -965,126 +933,60 @@ dependencies = [
 ]
 
 [[package]]
-name = "camino"
-version = "1.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "cap-fs-ext"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b779b2d0a001c125b4584ad586268fb4b92d957bff8d26d7fe0dd78283faa814"
-dependencies = [
- "cap-primitives",
- "cap-std",
- "io-lifetimes",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "cap-net-ext"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ffc30dee200c20b4dcb80572226f42658e1d9c4b668656d7cc59c33d50e396e"
-dependencies = [
- "cap-primitives",
- "cap-std",
- "rustix",
- "smallvec",
-]
-
-[[package]]
-name = "cap-primitives"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bf30c373a3bee22c292b1b6a7a26736a38376840f1af3d2d806455edf8c3899"
-dependencies = [
- "ambient-authority",
- "fs-set-times",
- "io-extras",
- "io-lifetimes",
- "ipnet",
- "maybe-owned",
- "rustix",
- "windows-sys 0.48.0",
- "winx",
-]
-
-[[package]]
-name = "cap-rand"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "577de6cff7c2a47d6b13efe5dd28bf116bd7f8f7db164ea95b7cc2640711f522"
-dependencies = [
- "ambient-authority",
- "rand 0.8.5",
-]
-
-[[package]]
-name = "cap-std"
-version = "2.0.0"
+name = "bzip2"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84bade423fa6403efeebeafe568fdb230e8c590a275fba2ba978dd112efcf6e9"
+checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8"
 dependencies = [
- "cap-primitives",
- "io-extras",
- "io-lifetimes",
- "rustix",
+ "bzip2-sys",
+ "libc",
 ]
 
 [[package]]
-name = "cap-time-ext"
-version = "2.0.0"
+name = "bzip2-sys"
+version = "0.1.11+1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8f52b3c8f4abfe3252fd0a071f3004aaa3b18936ec97bdbd8763ce03aff6247"
+checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
 dependencies = [
- "cap-primitives",
- "once_cell",
- "rustix",
- "winx",
+ "cc",
+ "libc",
+ "pkg-config",
 ]
 
 [[package]]
-name = "cargo-lock"
-version = "9.0.0"
+name = "camino"
+version = "1.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e11c675378efb449ed3ce8de78d75d0d80542fc98487c26aba28eb3b82feac72"
+checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c"
 dependencies = [
- "semver 1.0.20",
  "serde",
- "toml 0.7.8",
- "url",
 ]
 
 [[package]]
 name = "cargo-platform"
-version = "0.1.5"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e34637b3140142bdf929fb439e8aa4ebad7651ebf7b1080b3930aa16ac1459ff"
+checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "cargo-shuttle"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "anyhow",
  "assert_cmd",
  "async-trait",
  "bollard",
- "cargo_metadata 0.18.1",
+ "cargo_metadata",
  "chrono",
  "clap",
  "clap_complete",
  "clap_mangen",
  "crossterm 0.27.0",
  "dialoguer",
- "dirs 5.0.1",
+ "dirs",
  "dunce",
  "flate2",
  "futures",
@@ -1099,25 +1001,22 @@ dependencies = [
  "percent-encoding",
  "portpicker",
  "regex",
- "reqwest",
- "reqwest-middleware",
- "reqwest-retry",
+ "reqwest 0.11.27",
  "rexpect",
  "rmp-serde",
- "semver 1.0.20",
+ "semver 1.0.22",
  "serde",
  "serde_json",
  "shuttle-common",
  "shuttle-common-tests",
  "shuttle-proto",
  "shuttle-service",
- "strum 0.25.0",
+ "strum 0.26.2",
  "tar",
  "tempfile",
  "tokio",
  "tokio-tungstenite",
- "tokiotest-httpserver",
- "toml 0.8.8",
+ "toml",
  "toml_edit 0.20.7",
  "tonic 0.10.2",
  "tracing",
@@ -1126,20 +1025,7 @@ dependencies = [
  "uuid",
  "walkdir",
  "webbrowser",
-]
-
-[[package]]
-name = "cargo_metadata"
-version = "0.15.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a"
-dependencies = [
- "camino",
- "cargo-platform",
- "semver 1.0.20",
- "serde",
- "serde_json",
- "thiserror",
+ "zip",
 ]
 
 [[package]]
@@ -1150,7 +1036,7 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
 dependencies = [
  "camino",
  "cargo-platform",
- "semver 1.0.20",
+ "semver 1.0.22",
  "serde",
  "serde_json",
  "thiserror",
@@ -1158,9 +1044,9 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.0.94"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7"
 dependencies = [
  "jobserver",
  "libc",
@@ -1173,16 +1059,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
 
 [[package]]
-name = "cfg-expr"
-version = "0.15.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3"
-dependencies = [
- "smallvec",
- "target-lexicon",
-]
-
-[[package]]
 name = "cfg-if"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1190,9 +1066,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.31"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -1200,14 +1076,24 @@ dependencies = [
  "num-traits",
  "serde",
  "wasm-bindgen",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.5",
+]
+
+[[package]]
+name = "cipher"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
+dependencies = [
+ "crypto-common",
+ "inout",
 ]
 
 [[package]]
 name = "clap"
-version = "4.4.11"
+version = "4.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2"
+checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -1215,48 +1101,48 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.11"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
 dependencies = [
  "anstream",
  "anstyle",
  "clap_lex",
- "strsim",
+ "strsim 0.11.1",
 ]
 
 [[package]]
 name = "clap_complete"
-version = "4.4.4"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bffe91f06a11b4b9420f62103854e90867812cd5d01557f853c5ee8e791b12ae"
+checksum = "dd79504325bf38b10165b02e89b4347300f855f273c4cb30c4a3209e6583275e"
 dependencies = [
  "clap",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "4.4.7"
+version = "4.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
 dependencies = [
- "heck",
+ "heck 0.5.0",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "clap_mangen"
-version = "0.2.15"
+version = "0.2.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3be86020147691e1d2ef58f75346a3d4d94807bfc473e377d52f09f0f7d77f7"
+checksum = "e1dd95b5ebb5c1c54581dd6346f3ed6a79a3eef95dd372fc2ac13d535535300e"
 dependencies = [
  "clap",
  "roff",
@@ -1276,20 +1162,19 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
 name = "colored"
-version = "2.0.4"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6"
+checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8"
 dependencies = [
- "is-terminal",
  "lazy_static",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "combine"
-version = "4.6.6"
+version = "4.6.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
 dependencies = [
  "bytes",
  "memchr",
@@ -1324,22 +1209,28 @@ dependencies = [
 
 [[package]]
 name = "console"
-version = "0.15.7"
+version = "0.15.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8"
+checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
 dependencies = [
  "encode_unicode",
  "lazy_static",
  "libc",
  "unicode-width",
- "windows-sys 0.45.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "const-oid"
-version = "0.9.5"
+version = "0.9.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
+
+[[package]]
+name = "constant_time_eq"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
+checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
 
 [[package]]
 name = "convert_case"
@@ -1364,137 +1255,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
-name = "cpp_demangle"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
 name = "cpufeatures"
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "cranelift-bforest"
-version = "0.100.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "751cbf89e513f283c0641eb7f95dc72fda5051dd95ca203d1dc45e26bc89dba8"
-dependencies = [
- "cranelift-entity",
-]
-
-[[package]]
-name = "cranelift-codegen"
-version = "0.100.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "210730edc05121e915201cc36595e1f00062094669fa07ac362340e3627b3dc5"
-dependencies = [
- "bumpalo",
- "cranelift-bforest",
- "cranelift-codegen-meta",
- "cranelift-codegen-shared",
- "cranelift-control",
- "cranelift-entity",
- "cranelift-isle",
- "gimli",
- "hashbrown 0.14.3",
- "log",
- "regalloc2",
- "smallvec",
- "target-lexicon",
-]
-
-[[package]]
-name = "cranelift-codegen-meta"
-version = "0.100.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5dc7fdf210c53db047f3eaf49b3a89efee0cc3d9a2ce0c0f0236933273d0c53"
-dependencies = [
- "cranelift-codegen-shared",
-]
-
-[[package]]
-name = "cranelift-codegen-shared"
-version = "0.100.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f46875cc87d963119d78fe5c19852757dc6eea3cb9622c0df69c26b242cd44b4"
-
-[[package]]
-name = "cranelift-control"
-version = "0.100.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "375dca8f58d8a801a85e11730c1529c5c4a9c3593dfb12118391ac437b037155"
-dependencies = [
- "arbitrary",
-]
-
-[[package]]
-name = "cranelift-entity"
-version = "0.100.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc619b86fe3c72f43fc417c9fd67a04ec0c98296e5940922d9fd9e6eedf72521"
-dependencies = [
- "serde",
- "serde_derive",
-]
-
-[[package]]
-name = "cranelift-frontend"
-version = "0.100.1"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7eb607fd19ae264da18f9f2532e7302b826f7fbf77bf88365fc075f2e3419436"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
- "cranelift-codegen",
- "log",
- "smallvec",
- "target-lexicon",
-]
-
-[[package]]
-name = "cranelift-isle"
-version = "0.100.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fe806a6470dddfdf79e878af6a96afb1235a09fe3e21f9e0c2f18d402820432"
-
-[[package]]
-name = "cranelift-native"
-version = "0.100.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fac7f1722660b10af1f7229c0048f716bfd8bd344549b0e06e3eb6417ec3fe5b"
-dependencies = [
- "cranelift-codegen",
  "libc",
- "target-lexicon",
-]
-
-[[package]]
-name = "cranelift-wasm"
-version = "0.100.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1b65810be56b619c3c55debade92798d999f34bf0670370c578afab5d905f06"
-dependencies = [
- "cranelift-codegen",
- "cranelift-entity",
- "cranelift-frontend",
- "itertools 0.10.5",
- "log",
- "smallvec",
- "wasmparser 0.112.0",
- "wasmtime-types",
 ]
 
 [[package]]
 name = "crc"
-version = "3.0.1"
+version = "3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe"
+checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636"
 dependencies = [
  "crc-catalog",
 ]
@@ -1507,65 +1280,55 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.8"
+version = "0.5.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
- "memoffset 0.9.0",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-queue"
-version = "0.3.8"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crossterm"
@@ -1577,7 +1340,7 @@ dependencies = [
  "crossterm_winapi",
  "libc",
  "mio",
- "parking_lot 0.12.1",
+ "parking_lot",
  "signal-hook",
  "signal-hook-mio",
  "winapi",
@@ -1589,11 +1352,11 @@ version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "crossterm_winapi",
  "libc",
  "mio",
- "parking_lot 0.12.1",
+ "parking_lot",
  "signal-hook",
  "signal-hook-mio",
  "winapi",
@@ -1620,12 +1383,12 @@ dependencies = [
 
 [[package]]
 name = "ctor"
-version = "0.2.5"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37e366bff8cd32dd8754b0991fb66b279dc48f598c3a18914852a6673deef583"
+checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f"
 dependencies = [
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -1634,8 +1397,18 @@ version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c"
 dependencies = [
- "darling_core",
- "darling_macro",
+ "darling_core 0.13.4",
+ "darling_macro 0.13.4",
+]
+
+[[package]]
+name = "darling"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391"
+dependencies = [
+ "darling_core 0.20.8",
+ "darling_macro 0.20.8",
 ]
 
 [[package]]
@@ -1648,22 +1421,60 @@ dependencies = [
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
+ "strsim 0.10.0",
  "syn 1.0.109",
 ]
 
 [[package]]
+name = "darling_core"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote",
+ "strsim 0.10.0",
+ "syn 2.0.59",
+]
+
+[[package]]
 name = "darling_macro"
 version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
 dependencies = [
- "darling_core",
+ "darling_core 0.13.4",
  "quote",
  "syn 1.0.109",
 ]
 
 [[package]]
+name = "darling_macro"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
+dependencies = [
+ "darling_core 0.20.8",
+ "quote",
+ "syn 2.0.59",
+]
+
+[[package]]
+name = "dashmap"
+version = "5.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
+dependencies = [
+ "cfg-if",
+ "hashbrown 0.14.3",
+ "lock_api",
+ "once_cell",
+ "parking_lot_core",
+]
+
+[[package]]
 name = "data-encoding"
 version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1671,14 +1482,13 @@ checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
 name = "deadpool"
-version = "0.9.5"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "421fe0f90f2ab22016f32a9881be5134fdd71c65298917084b0c7477cbc3856e"
+checksum = "fb84100978c1c7b37f09ed3ce3e5f843af02c2a2c431bae5b19230dad2c1b490"
 dependencies = [
  "async-trait",
  "deadpool-runtime",
  "num_cpus",
- "retain_mut",
  "tokio",
 ]
 
@@ -1689,19 +1499,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "63dfa964fe2a66f3fde91fc70b267fe193d822c7e603e2a675a49a7f46ad3f49"
 
 [[package]]
-name = "debugid"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d"
-dependencies = [
- "uuid",
-]
-
-[[package]]
 name = "der"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
+checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0"
 dependencies = [
  "const-oid",
  "pem-rfc7468",
@@ -1724,9 +1525,9 @@ dependencies = [
 
 [[package]]
 name = "deranged"
-version = "0.3.10"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
 dependencies = [
  "powerfmt",
  "serde",
@@ -1763,9 +1564,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de"
 dependencies = [
  "console",
- "fuzzy-matcher",
  "shell-words",
- "tempfile",
  "thiserror",
  "zeroize",
 ]
@@ -1795,42 +1594,12 @@ dependencies = [
 ]
 
 [[package]]
-name = "directories-next"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc"
-dependencies = [
- "cfg-if",
- "dirs-sys-next",
-]
-
-[[package]]
-name = "dirs"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
-dependencies = [
- "dirs-sys 0.3.7",
-]
-
-[[package]]
 name = "dirs"
 version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
 dependencies = [
- "dirs-sys 0.4.1",
-]
-
-[[package]]
-name = "dirs-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
+ "dirs-sys",
 ]
 
 [[package]]
@@ -1846,17 +1615,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "dirs-sys-next"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
-]
-
-[[package]]
 name = "displaydoc"
 version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1864,7 +1622,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -1887,9 +1645,9 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
 
 [[package]]
 name = "either"
-version = "1.9.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
 dependencies = [
  "serde",
 ]
@@ -1902,9 +1660,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.33"
+version = "0.8.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
 dependencies = [
  "cfg-if",
 ]
@@ -1915,25 +1673,13 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "21cdad81446a7f7dc43f6a77409efeb9733d2fa65553efef6018ef257c959b73"
 dependencies = [
- "heck",
+ "heck 0.4.1",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
 ]
 
 [[package]]
-name = "enum-as-inner"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "syn 2.0.39",
-]
-
-[[package]]
 name = "equivalent"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1967,19 +1713,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
-name = "fallible-iterator"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649"
-
-[[package]]
 name = "faster-hex"
-version = "0.8.1"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "239f7bfb930f820ab16a9cd95afc26f88264cf6905c960b340a615384aa3338a"
-dependencies = [
- "serde",
-]
+checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183"
 
 [[package]]
 name = "fastrand"
@@ -1992,20 +1729,9 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
-
-[[package]]
-name = "fd-lock"
-version = "4.0.1"
+version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b93f7a0db71c99f68398f80653ed05afb0b00e062e1a20c7ff849c4edfabbbcc"
-dependencies = [
- "cfg-if",
- "rustix",
- "windows-sys 0.52.0",
-]
+checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
 
 [[package]]
 name = "filetime"
@@ -2015,7 +1741,7 @@ checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.4.1",
+ "redox_syscall",
  "windows-sys 0.52.0",
 ]
 
@@ -2063,20 +1789,9 @@ dependencies = [
 
 [[package]]
 name = "fqdn"
-version = "0.3.2"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3d76ed310eb8c6f88ddde3e976d015f4f91761fe98d7d41e497db542318fca9"
-
-[[package]]
-name = "fs-set-times"
-version = "0.20.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "033b337d725b97690d86893f9de22b67b80dcc4e9ad815f348254c38119db8fb"
-dependencies = [
- "io-lifetimes",
- "rustix",
- "windows-sys 0.52.0",
-]
+checksum = "1bf664d6b0598fea5600b85cddc79e60d4c1f262f42faf75c2d77dc2164c9a8b"
 
 [[package]]
 name = "funty"
@@ -2086,9 +1801,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
 
 [[package]]
 name = "futures"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -2101,9 +1816,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -2111,15 +1826,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -2134,14 +1849,14 @@ checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f"
 dependencies = [
  "futures-core",
  "lock_api",
- "parking_lot 0.12.1",
+ "parking_lot",
 ]
 
 [[package]]
 name = "futures-io"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
@@ -2160,32 +1875,32 @@ dependencies = [
 
 [[package]]
 name = "futures-macro"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-util"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -2200,37 +1915,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "fuzzy-matcher"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94"
-dependencies = [
- "thread_local",
-]
-
-[[package]]
-name = "fxhash"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "fxprof-processed-profile"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27d12c0aed7f1e24276a241aadc4cb8ea9f83000f34bc062b7cc2d51e3b0fabd"
-dependencies = [
- "bitflags 2.4.1",
- "debugid",
- "fxhash",
- "serde",
- "serde_json",
-]
-
-[[package]]
 name = "generic-array"
 version = "0.14.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2253,9 +1937,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.11"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -2269,19 +1953,14 @@ name = "gimli"
 version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
-dependencies = [
- "fallible-iterator",
- "indexmap 2.1.0",
- "stable_deref_trait",
-]
 
 [[package]]
 name = "git2"
-version = "0.18.2"
+version = "0.18.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b3ba52851e73b46a4c3df1d89343741112003f0f6f13beb0dfac9e457c3fdcd"
+checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "libc",
  "libgit2-sys",
  "log",
@@ -2290,12 +1969,13 @@ dependencies = [
 
 [[package]]
 name = "gix"
-version = "0.55.2"
+version = "0.62.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "002667cd1ebb789313d0d0afe3d23b2821cf3b0e91605095f0e6d8751f0ceeea"
+checksum = "5631c64fb4cd48eee767bf98a3cbc5c9318ef3bb71074d4c099a2371510282b6"
 dependencies = [
  "gix-actor",
  "gix-attributes",
+ "gix-command",
  "gix-commitgraph",
  "gix-config",
  "gix-credentials",
@@ -2336,32 +2016,30 @@ dependencies = [
  "gix-worktree",
  "gix-worktree-state",
  "once_cell",
- "parking_lot 0.12.1",
- "reqwest",
+ "parking_lot",
  "smallvec",
  "thiserror",
- "unicode-normalization",
 ]
 
 [[package]]
 name = "gix-actor"
-version = "0.28.1"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2eadca029ef716b4378f7afb19f7ee101fde9e58ba1f1445971315ac866db417"
+checksum = "45c3a3bde455ad2ee8ba8a195745241ce0b770a8a26faae59fcf409d01b28c46"
 dependencies = [
  "bstr",
- "btoi",
  "gix-date",
+ "gix-utils",
  "itoa",
  "thiserror",
- "winnow",
+ "winnow 0.6.6",
 ]
 
 [[package]]
 name = "gix-attributes"
-version = "0.20.1"
+version = "0.22.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f395469d38c76ec47cd1a6c5a53fbc3f13f737b96eaf7535f4e6b367e643381"
+checksum = "eefb48f42eac136a4a0023f49a54ec31be1c7a9589ed762c45dcb9b953f7ecc8"
 dependencies = [
  "bstr",
  "gix-glob",
@@ -2376,50 +2054,53 @@ dependencies = [
 
 [[package]]
 name = "gix-bitmap"
-version = "0.2.8"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d49e1a13a30d3f88be4bceae184dd13a2d3fb9ffa7515f7ed7ae771b857f4916"
+checksum = "a371db66cbd4e13f0ed9dc4c0fea712d7276805fccc877f77e96374d317e87ae"
 dependencies = [
  "thiserror",
 ]
 
 [[package]]
 name = "gix-chunk"
-version = "0.4.5"
+version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d411ecd9b558b0c20b3252b7e409eec48eabc41d18324954fe526bac6e2db55f"
+checksum = "45c8751169961ba7640b513c3b24af61aa962c967aaf04116734975cd5af0c52"
 dependencies = [
  "thiserror",
 ]
 
 [[package]]
 name = "gix-command"
-version = "0.2.10"
+version = "0.3.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c576cfbf577f72c097b5f88aedea502cd62952bdc1fb3adcab4531d5525a4c7"
+checksum = "f90009020dc4b3de47beed28e1334706e0a330ddd17f5cfeb097df3b15a54b77"
 dependencies = [
  "bstr",
+ "gix-path",
+ "gix-trace",
+ "shell-words",
 ]
 
 [[package]]
 name = "gix-commitgraph"
-version = "0.22.1"
+version = "0.24.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85a7007ba021f059803afaf6f8a48872422abc20550ac12ede6ddea2936cec36"
+checksum = "f7b102311085da4af18823413b5176d7c500fb2272eaf391cfa8635d8bcb12c4"
 dependencies = [
  "bstr",
  "gix-chunk",
  "gix-features",
  "gix-hash",
- "memmap2 0.9.0",
+ "memmap2",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-config"
-version = "0.31.0"
+version = "0.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cae98c6b4c66c09379bc35274b172587d6b0ac369a416c39128ad8c6454f9bb"
+checksum = "7580e05996e893347ad04e1eaceb92e1c0e6a3ffe517171af99bf6b6df0ca6e5"
 dependencies = [
  "bstr",
  "gix-config-value",
@@ -2433,16 +2114,16 @@ dependencies = [
  "smallvec",
  "thiserror",
  "unicode-bom",
- "winnow",
+ "winnow 0.6.6",
 ]
 
 [[package]]
 name = "gix-config-value"
-version = "0.14.1"
+version = "0.14.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6419db582ea84dfb58c7e7b0af7fd62c808aa14954af2936a33f89b0f4ed018e"
+checksum = "fbd06203b1a9b33a78c88252a625031b094d9e1b647260070c25b09910c0a804"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "bstr",
  "gix-path",
  "libc",
@@ -2451,9 +2132,9 @@ dependencies = [
 
 [[package]]
 name = "gix-credentials"
-version = "0.21.0"
+version = "0.24.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c5c5d74069b842a1861e581027ac6b7ad9ff66f5911c89b9f45484d7ebda6a4"
+checksum = "5c70146183bd3c7119329a3c7392d1aa0e0adbe48d727f4df31828fe6d8fdaa1"
 dependencies = [
  "bstr",
  "gix-command",
@@ -2461,15 +2142,16 @@ dependencies = [
  "gix-path",
  "gix-prompt",
  "gix-sec",
+ "gix-trace",
  "gix-url",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-date"
-version = "0.8.1"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "468dfbe411f335f01525a1352271727f8e7772075a93fa747260f502086b30be"
+checksum = "180b130a4a41870edfbd36ce4169c7090bca70e195da783dea088dd973daa59c"
 dependencies = [
  "bstr",
  "itoa",
@@ -2479,10 +2161,11 @@ dependencies = [
 
 [[package]]
 name = "gix-diff"
-version = "0.37.0"
+version = "0.43.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "931394f69fb8c9ed6afc0aae3487bd869e936339bcc13ed8884472af072e0554"
+checksum = "a5fbc24115b957346cd23fb0f47d830eb799c46c89cdcf2f5acc9bf2938c2d01"
 dependencies = [
+ "bstr",
  "gix-hash",
  "gix-object",
  "thiserror",
@@ -2490,12 +2173,13 @@ dependencies = [
 
 [[package]]
 name = "gix-discover"
-version = "0.26.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a45d5cf0321178883e38705ab2b098f625d609a7d4c391b33ac952eff2c490f2"
+checksum = "64bab49087ed3710caf77e473dc0efc54ca33d8ccc6441359725f121211482b1"
 dependencies = [
  "bstr",
  "dunce",
+ "gix-fs",
  "gix-hash",
  "gix-path",
  "gix-ref",
@@ -2505,15 +2189,16 @@ dependencies = [
 
 [[package]]
 name = "gix-features"
-version = "0.36.1"
+version = "0.38.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d46a4a5c6bb5bebec9c0d18b65ada20e6517dbd7cf855b87dd4bbdce3a771b2"
+checksum = "db4254037d20a247a0367aa79333750146a369719f0c6617fec4f5752cc62b37"
 dependencies = [
  "bytes",
  "crc32fast",
  "flate2",
  "gix-hash",
  "gix-trace",
+ "gix-utils",
  "libc",
  "once_cell",
  "prodash",
@@ -2524,9 +2209,9 @@ dependencies = [
 
 [[package]]
 name = "gix-filter"
-version = "0.6.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92f674d3fdb6b1987b04521ec9a5b7be8650671f2c4bbd17c3c81e2a364242ff"
+checksum = "5c0d1f01af62bfd2fb3dd291acc2b29d4ab3e96ad52a679174626508ce98ef12"
 dependencies = [
  "bstr",
  "encoding_rs",
@@ -2538,26 +2223,28 @@ dependencies = [
  "gix-path",
  "gix-quote",
  "gix-trace",
+ "gix-utils",
  "smallvec",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-fs"
-version = "0.8.1"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20e86eb040f5776a5ade092282e51cdcad398adb77d948b88d17583c2ae4e107"
+checksum = "e2184c40e7910529677831c8b481acf788ffd92427ed21fad65b6aa637e631b8"
 dependencies = [
  "gix-features",
+ "gix-utils",
 ]
 
 [[package]]
 name = "gix-glob"
-version = "0.14.1"
+version = "0.16.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5db19298c5eeea2961e5b3bf190767a2d1f09b8802aeb5f258e42276350aff19"
+checksum = "682bdc43cb3c00dbedfcc366de2a849b582efd8d886215dbad2ea662ec156bb5"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "bstr",
  "gix-features",
  "gix-path",
@@ -2565,9 +2252,9 @@ dependencies = [
 
 [[package]]
 name = "gix-hash"
-version = "0.13.2"
+version = "0.14.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99c1e554a87759e672c7d2e37211e761aa390c61ffcd3753a57c51173143f3cb"
+checksum = "f93d7df7366121b5018f947a04d37f034717e113dcf9ccd85c34b58e57a74d5e"
 dependencies = [
  "faster-hex",
  "thiserror",
@@ -2575,37 +2262,38 @@ dependencies = [
 
 [[package]]
 name = "gix-hashtable"
-version = "0.4.1"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "feb61880816d7ec4f0b20606b498147d480860ddd9133ba542628df2f548d3ca"
+checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242"
 dependencies = [
  "gix-hash",
  "hashbrown 0.14.3",
- "parking_lot 0.12.1",
+ "parking_lot",
 ]
 
 [[package]]
 name = "gix-ignore"
-version = "0.9.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a215cc8cf21645bca131fcf6329d3ebd46299c47dbbe27df71bb1ca9e328b879"
+checksum = "640dbeb4f5829f9fc14d31f654a34a0350e43a24e32d551ad130d99bf01f63f1"
 dependencies = [
  "bstr",
  "gix-glob",
  "gix-path",
+ "gix-trace",
  "unicode-bom",
 ]
 
 [[package]]
 name = "gix-index"
-version = "0.26.0"
+version = "0.32.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c83a4fcc121b2f2e109088f677f89f85e7a8ebf39e8e6659c0ae54d4283b1650"
+checksum = "881ab3b1fa57f497601a5add8289e72a7ae09471fc0b9bbe483b628ae8e418a1"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "bstr",
- "btoi",
  "filetime",
+ "fnv",
  "gix-bitmap",
  "gix-features",
  "gix-fs",
@@ -2613,17 +2301,21 @@ dependencies = [
  "gix-lock",
  "gix-object",
  "gix-traverse",
+ "gix-utils",
+ "hashbrown 0.14.3",
  "itoa",
- "memmap2 0.7.1",
+ "libc",
+ "memmap2",
+ "rustix",
  "smallvec",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-lock"
-version = "11.0.1"
+version = "13.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e5c65e6a29830a435664891ced3f3c1af010f14900226019590ee0971a22f37"
+checksum = "e7c359f81f01b8352063319bcb39789b7ea0887b406406381106e38c4a34d049"
 dependencies = [
  "gix-tempfile",
  "gix-utils",
@@ -2632,22 +2324,22 @@ dependencies = [
 
 [[package]]
 name = "gix-macros"
-version = "0.1.1"
+version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02a5bcaf6704d9354a3071cede7e77d366a5980c7352e102e2c2f9b645b1d3ae"
+checksum = "1dff438f14e67e7713ab9332f5fd18c8f20eb7eb249494f6c2bf170522224032"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
 name = "gix-negotiate"
-version = "0.9.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a5cdcf491ecc9ce39dcc227216c540355fe0024ae7c38e94557752ca5ebb67f"
+checksum = "54ba98f8c8c06870dfc167d192ca38a38261867b836cb89ac80bc9176dba975e"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "gix-commitgraph",
  "gix-date",
  "gix-hash",
@@ -2659,47 +2351,48 @@ dependencies = [
 
 [[package]]
 name = "gix-object"
-version = "0.38.0"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "740f2a44267f58770a1cb3a3d01d14e67b089c7136c48d4bddbb3cfd2bf86a51"
+checksum = "3d4f8efae72030df1c4a81d02dbe2348e748d9b9a11e108ed6efbd846326e051"
 dependencies = [
  "bstr",
- "btoi",
  "gix-actor",
  "gix-date",
  "gix-features",
  "gix-hash",
+ "gix-utils",
  "gix-validate",
  "itoa",
  "smallvec",
  "thiserror",
- "winnow",
+ "winnow 0.6.6",
 ]
 
 [[package]]
 name = "gix-odb"
-version = "0.54.0"
+version = "0.60.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8630b56cb80d8fa684d383dad006a66401ee8314e12fbf0e566ddad8c115143b"
+checksum = "e8bbb43d2fefdc4701ffdf9224844d05b136ae1b9a73c2f90710c8dd27a93503"
 dependencies = [
  "arc-swap",
  "gix-date",
  "gix-features",
+ "gix-fs",
  "gix-hash",
  "gix-object",
  "gix-pack",
  "gix-path",
  "gix-quote",
- "parking_lot 0.12.1",
+ "parking_lot",
  "tempfile",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-pack"
-version = "0.44.0"
+version = "0.50.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1431ba2e30deff1405920693d54ab231c88d7c240dd6ccc936ee223d8f8697c3"
+checksum = "b58bad27c7677fa6b587aab3a1aca0b6c97373bd371a0a4290677c838c9bcaf1"
 dependencies = [
  "clru",
  "gix-chunk",
@@ -2709,39 +2402,41 @@ dependencies = [
  "gix-object",
  "gix-path",
  "gix-tempfile",
- "memmap2 0.7.1",
- "parking_lot 0.12.1",
+ "memmap2",
+ "parking_lot",
  "smallvec",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-packetline"
-version = "0.16.7"
+version = "0.17.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a8384b1e964151aff0d5632dd9b191059d07dff358b96bd940f1b452600d7ab"
+checksum = "b70486beda0903b6d5b65dfa6e40585098cdf4e6365ca2dff4f74c387354a515"
 dependencies = [
  "bstr",
  "faster-hex",
+ "gix-trace",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-packetline-blocking"
-version = "0.16.6"
+version = "0.17.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d8395f7501c84d6a1fe902035fdfd8cd86d89e2dd6be0200ec1a72fd3c92d39"
+checksum = "c31d42378a3d284732e4d589979930d0d253360eccf7ec7a80332e5ccb77e14a"
 dependencies = [
  "bstr",
  "faster-hex",
+ "gix-trace",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-path"
-version = "0.10.1"
+version = "0.10.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d86d6fac2fabe07b67b7835f46d07571f68b11aa1aaecae94fe722ea4ef305e1"
+checksum = "23623cf0f475691a6d943f898c4d0b89f5c1a2a64d0f92bce0e0322ee6528783"
 dependencies = [
  "bstr",
  "gix-trace",
@@ -2752,11 +2447,11 @@ dependencies = [
 
 [[package]]
 name = "gix-pathspec"
-version = "0.4.1"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dbbb92f75a38ef043c8bb830b339b38d0698d7f3746968b5fcbade7a880494d"
+checksum = "ea9f934a111e0efdf93ae06e3648427e60e783099fbebd6a53a7a2ffb10a1e65"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "bstr",
  "gix-attributes",
  "gix-config-value",
@@ -2767,51 +2462,51 @@ dependencies = [
 
 [[package]]
 name = "gix-prompt"
-version = "0.7.0"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c9a913769516f5e9d937afac206fb76428e3d7238e538845842887fda584678"
+checksum = "f5325eb17ce7b5e5d25dec5c2315d642a09d55b9888b3bf46b7d72e1621a55d8"
 dependencies = [
  "gix-command",
  "gix-config-value",
- "parking_lot 0.12.1",
+ "parking_lot",
  "rustix",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-protocol"
-version = "0.41.1"
+version = "0.45.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "391e3feabdfa5f90dad6673ce59e3291ac28901b2ff248d86c5a7fbde0391e0e"
+checksum = "aed3bb6179835a3250403baa9d7022579e559fc45f2efc416d9de1a14b5acf11"
 dependencies = [
  "bstr",
- "btoi",
  "gix-credentials",
  "gix-date",
  "gix-features",
  "gix-hash",
  "gix-transport",
+ "gix-utils",
  "maybe-async",
  "thiserror",
- "winnow",
+ "winnow 0.6.6",
 ]
 
 [[package]]
 name = "gix-quote"
-version = "0.4.8"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f84845efa535468bc79c5a87b9d29219f1da0313c8ecf0365a5daa7e72786f2"
+checksum = "cbff4f9b9ea3fa7a25a70ee62f545143abef624ac6aa5884344e70c8b0a1d9ff"
 dependencies = [
  "bstr",
- "btoi",
+ "gix-utils",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-ref"
-version = "0.38.0"
+version = "0.43.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ec2f6d07ac88d2fb8007ee3fa3e801856fb9d82e7366ec0ca332eb2c9d74a52"
+checksum = "fd4aba68b925101cb45d6df328979af0681364579db889098a0de75b36c77b65"
 dependencies = [
  "gix-actor",
  "gix-date",
@@ -2822,17 +2517,18 @@ dependencies = [
  "gix-object",
  "gix-path",
  "gix-tempfile",
+ "gix-utils",
  "gix-validate",
- "memmap2 0.7.1",
+ "memmap2",
  "thiserror",
- "winnow",
+ "winnow 0.6.6",
 ]
 
 [[package]]
 name = "gix-refspec"
-version = "0.19.0"
+version = "0.23.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccb0974cc41dbdb43a180c7f67aa481e1c1e160fcfa8f4a55291fd1126c1a6e7"
+checksum = "dde848865834a54fe4d9b4573f15d0e9a68eaf3d061b42d3ed52b4b8acf880b2"
 dependencies = [
  "bstr",
  "gix-hash",
@@ -2844,9 +2540,9 @@ dependencies = [
 
 [[package]]
 name = "gix-revision"
-version = "0.23.0"
+version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ca97ac73459a7f3766aa4a5638a6e37d56d4c7962bc1986fbaf4883d0772588"
+checksum = "9e34196e1969bd5d36e2fbc4467d893999132219d503e23474a8ad2b221cb1e8"
 dependencies = [
  "bstr",
  "gix-date",
@@ -2860,9 +2556,9 @@ dependencies = [
 
 [[package]]
 name = "gix-revwalk"
-version = "0.9.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a16d8c892e4cd676d86f0265bf9d40cefd73d8d94f86b213b8b77d50e77efae0"
+checksum = "e0a7d393ae814eeaae41a333c0ff684b243121cc61ccdc5bbe9897094588047d"
 dependencies = [
  "gix-commitgraph",
  "gix-date",
@@ -2875,21 +2571,21 @@ dependencies = [
 
 [[package]]
 name = "gix-sec"
-version = "0.10.1"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a36ea2c5907d64a9b4b5d3cc9f430e6c30f0509646b5e38eb275ca57c5bf29e2"
+checksum = "fddc27984a643b20dd03e97790555804f98cf07404e0e552c0ad8133266a79a1"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "gix-path",
  "libc",
- "windows",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "gix-submodule"
-version = "0.5.0"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bba78c8d12aa24370178453ec3a472ff08dfaa657d116229f57f2c9cd469a1c2"
+checksum = "4fb7ea05666362472fecd44c1fc35fe48a5b9b841b431cc4f85b95e6f20c23ec"
 dependencies = [
  "bstr",
  "gix-config",
@@ -2902,30 +2598,30 @@ dependencies = [
 
 [[package]]
 name = "gix-tempfile"
-version = "11.0.1"
+version = "13.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "388dd29114a86ec69b28d1e26d6d63a662300ecf61ab3f4cc578f7d7dc9e7e23"
+checksum = "a761d76594f4443b675e85928e4902dec333273836bd386906f01e7e346a0d11"
 dependencies = [
  "gix-fs",
  "libc",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "tempfile",
 ]
 
 [[package]]
 name = "gix-trace"
-version = "0.1.4"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b686a35799b53a9825575ca3f06481d0a053a409c4d97ffcf5ddd67a8760b497"
+checksum = "f924267408915fddcd558e3f37295cc7d6a3e50f8bd8b606cee0808c3915157e"
 
 [[package]]
 name = "gix-transport"
-version = "0.38.0"
+version = "0.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f209a93364e24f20319751bc11092272e2f3fe82bb72592b2822679cf5be752"
+checksum = "9d2f783b2fe86bf2a8cf1f3b8669d65b01ab4932f32cc0101d3893e1b16a3bd6"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "bstr",
  "gix-command",
  "gix-credentials",
@@ -2934,16 +2630,17 @@ dependencies = [
  "gix-quote",
  "gix-sec",
  "gix-url",
- "reqwest",
+ "reqwest 0.12.4",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-traverse"
-version = "0.34.0"
+version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14d050ec7d4e1bb76abf0636cf4104fb915b70e54e3ced9a4427c999100ff38a"
+checksum = "f4029ec209b0cc480d209da3837a42c63801dd8548f09c1f4502c60accb62aeb"
 dependencies = [
+ "bitflags 2.5.0",
  "gix-commitgraph",
  "gix-date",
  "gix-hash",
@@ -2956,9 +2653,9 @@ dependencies = [
 
 [[package]]
 name = "gix-url"
-version = "0.25.2"
+version = "0.27.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c427a1a11ccfa53a4a2da47d9442c2241deee63a154bc15cc14b8312fbc4005"
+checksum = "0db829ebdca6180fbe32be7aed393591df6db4a72dbbc0b8369162390954d1cf"
 dependencies = [
  "bstr",
  "gix-features",
@@ -2970,18 +2667,19 @@ dependencies = [
 
 [[package]]
 name = "gix-utils"
-version = "0.1.6"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f82c41937f00e15a1f6cb0b55307f0ca1f77f4407ff2bf440be35aa688c6a3e"
+checksum = "35192df7fd0fa112263bad8021e2df7167df4cc2a6e6d15892e1e55621d3d4dc"
 dependencies = [
- "fastrand 2.0.1",
+ "fastrand 2.0.2",
+ "unicode-normalization",
 ]
 
 [[package]]
 name = "gix-validate"
-version = "0.8.1"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75b7d8e4274be69f284bbc7e6bb2ccf7065dbcdeba22d8c549f2451ae426883f"
+checksum = "e39fc6e06044985eac19dd34d474909e517307582e462b2eb4c8fa51b6241545"
 dependencies = [
  "bstr",
  "thiserror",
@@ -2989,9 +2687,9 @@ dependencies = [
 
 [[package]]
 name = "gix-worktree"
-version = "0.27.0"
+version = "0.33.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddaf79e721dba64fe726a42f297a3c8ed42e55cdc0d81ca68452f2def3c2d7fd"
+checksum = "f06ca5dd164678914fc9280ba9d1ffeb66499ccc16ab1278c513828beee88401"
 dependencies = [
  "bstr",
  "gix-attributes",
@@ -3007,9 +2705,9 @@ dependencies = [
 
 [[package]]
 name = "gix-worktree-state"
-version = "0.4.0"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34a2fcccdcaf3c71c00a03df31c9aa459d444cabbec4ed9ca1fa64e43406bed4"
+checksum = "70b4bcac42d5b3197d38e3f15f6eb277c5e6d6a1669c7beabed8f666dba1c9b8"
 dependencies = [
  "bstr",
  "gix-features",
@@ -3040,29 +2738,23 @@ dependencies = [
  "aho-corasick",
  "bstr",
  "log",
- "regex-automata 0.4.3",
- "regex-syntax 0.8.2",
+ "regex-automata 0.4.6",
+ "regex-syntax 0.8.3",
 ]
 
 [[package]]
-name = "guppy-workspace-hack"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92620684d99f750bae383ecb3be3748142d6095760afd5cbcf2261e9a279d780"
-
-[[package]]
 name = "h2"
-version = "0.3.24"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
+checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
 dependencies = [
  "bytes",
  "fnv",
  "futures-core",
  "futures-sink",
  "futures-util",
- "http 0.2.11",
- "indexmap 2.1.0",
+ "http 0.2.12",
+ "indexmap 2.2.6",
  "slab",
  "tokio",
  "tokio-util",
@@ -3071,17 +2763,17 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.4.2"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31d030e59af851932b72ceebadf4a2b5986dba4c3b99dd2493f8273a0f151943"
+checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069"
 dependencies = [
  "bytes",
  "fnv",
  "futures-core",
  "futures-sink",
  "futures-util",
- "http 1.0.0",
- "indexmap 2.1.0",
+ "http 1.1.0",
+ "indexmap 2.2.6",
  "slab",
  "tokio",
  "tokio-util",
@@ -3096,15 +2788,6 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 [[package]]
 name = "hashbrown"
-version = "0.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
-dependencies = [
- "ahash",
-]
-
-[[package]]
-name = "hashbrown"
 version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
@@ -3128,10 +2811,10 @@ version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
  "headers-core",
- "http 0.2.11",
+ "http 0.2.12",
  "httpdate",
  "mime",
  "sha1",
@@ -3143,7 +2826,7 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429"
 dependencies = [
- "http 0.2.11",
+ "http 0.2.12",
 ]
 
 [[package]]
@@ -3156,10 +2839,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
+[[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "hex"
@@ -3169,9 +2858,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
 
 [[package]]
 name = "hkdf"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
 dependencies = [
  "hmac",
 ]
@@ -3187,11 +2876,11 @@ dependencies = [
 
 [[package]]
 name = "home"
-version = "0.5.5"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3207,9 +2896,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
 dependencies = [
  "bytes",
  "fnv",
@@ -3218,9 +2907,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b32afd38673a8016f7c9ae69e5af41a58f81b1d31689040f2f1959594ce194ea"
+checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
 dependencies = [
  "bytes",
  "fnv",
@@ -3229,12 +2918,12 @@ dependencies = [
 
 [[package]]
 name = "http-body"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
 dependencies = [
  "bytes",
- "http 0.2.11",
+ "http 0.2.12",
  "pin-project-lite",
 ]
 
@@ -3245,18 +2934,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
 dependencies = [
  "bytes",
- "http 1.0.0",
+ "http 1.1.0",
 ]
 
 [[package]]
 name = "http-body-util"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41cb79eb393015dadd30fc252023adb0b2400a0caee0fa2a077e6e21a551e840"
+checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d"
 dependencies = [
  "bytes",
- "futures-util",
- "http 1.0.0",
+ "futures-core",
+ "http 1.1.0",
  "http-body 1.0.0",
  "pin-project-lite",
 ]
@@ -3268,16 +2957,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f"
 
 [[package]]
-name = "http-serde"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f560b665ad9f1572cfcaf034f7fb84338a7ce945216d64a90fd81f046a3caee"
-dependencies = [
- "http 0.2.11",
- "serde",
-]
-
-[[package]]
 name = "http-types"
 version = "2.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3287,7 +2966,7 @@ dependencies = [
  "async-channel",
  "base64 0.13.1",
  "futures-lite",
- "http 0.2.11",
+ "http 0.2.12",
  "infer",
  "pin-project-lite",
  "rand 0.7.3",
@@ -3312,22 +2991,22 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 
 [[package]]
 name = "hyper"
-version = "0.14.27"
+version = "0.14.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
 dependencies = [
  "bytes",
  "futures-channel",
  "futures-core",
  "futures-util",
- "h2 0.3.24",
- "http 0.2.11",
- "http-body 0.4.5",
+ "h2 0.3.26",
+ "http 0.2.12",
+ "http-body 0.4.6",
  "httparse",
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2 0.4.10",
+ "socket2 0.5.6",
  "tokio",
  "tower-service",
  "tracing",
@@ -3336,20 +3015,21 @@ dependencies = [
 
 [[package]]
 name = "hyper"
-version = "1.1.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5aa53871fc917b1a9ed87b683a5d86db645e23acb32c2e0785a353e522fb75"
+checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d"
 dependencies = [
  "bytes",
  "futures-channel",
  "futures-util",
- "h2 0.4.2",
- "http 1.0.0",
+ "h2 0.4.4",
+ "http 1.1.0",
  "http-body 1.0.0",
  "httparse",
  "httpdate",
  "itoa",
  "pin-project-lite",
+ "smallvec",
  "tokio",
  "want",
 ]
@@ -3359,7 +3039,7 @@ name = "hyper-reverse-proxy"
 version = "0.5.2-dev"
 source = "git+https://github.com/chesedo/hyper-reverse-proxy?branch=bug/host_header#5f82b7dffe940abf896fe47dadf6c8e87ddc670b"
 dependencies = [
- "hyper 0.14.27",
+ "hyper 0.14.28",
  "lazy_static",
  "tokio",
  "tracing",
@@ -3372,13 +3052,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
 dependencies = [
  "futures-util",
- "http 0.2.11",
- "hyper 0.14.27",
+ "http 0.2.12",
+ "hyper 0.14.28",
  "log",
- "rustls",
+ "rustls 0.21.11",
  "rustls-native-certs",
  "tokio",
- "tokio-rustls",
+ "tokio-rustls 0.24.1",
+]
+
+[[package]]
+name = "hyper-rustls"
+version = "0.26.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c"
+dependencies = [
+ "futures-util",
+ "http 1.1.0",
+ "hyper 1.3.1",
+ "hyper-util",
+ "rustls 0.22.4",
+ "rustls-pki-types",
+ "tokio",
+ "tokio-rustls 0.25.0",
+ "tower-service",
 ]
 
 [[package]]
@@ -3387,7 +3084,7 @@ version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1"
 dependencies = [
- "hyper 0.14.27",
+ "hyper 0.14.28",
  "pin-project-lite",
  "tokio",
  "tokio-io-timeout",
@@ -3395,19 +3092,21 @@ dependencies = [
 
 [[package]]
 name = "hyper-util"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdea9aac0dbe5a9240d68cfd9501e2db94222c6dc06843e06640b9e07f0fdc67"
+checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
 dependencies = [
  "bytes",
  "futures-channel",
  "futures-util",
- "http 1.0.0",
+ "http 1.1.0",
  "http-body 1.0.0",
- "hyper 1.1.0",
+ "hyper 1.3.1",
  "pin-project-lite",
- "socket2 0.5.5",
+ "socket2 0.5.6",
  "tokio",
+ "tower",
+ "tower-service",
  "tracing",
 ]
 
@@ -3419,16 +3118,16 @@ checksum = "0fafdf7b2b2de7c9784f76e02c0935e65a8117ec3b768644379983ab333ac98c"
 dependencies = [
  "futures-util",
  "hex",
- "hyper 0.14.27",
+ "hyper 0.14.28",
  "pin-project",
  "tokio",
 ]
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.58"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -3448,12 +3147,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "id-arena"
-version = "2.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005"
-
-[[package]]
 name = "ident_case"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3472,16 +3165,6 @@ dependencies = [
 
 [[package]]
 name = "idna"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
-dependencies = [
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "idna"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
@@ -3492,15 +3175,15 @@ dependencies = [
 
 [[package]]
 name = "ignore"
-version = "0.4.21"
+version = "0.4.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "747ad1b4ae841a78e8aba0d63adbfbeaea26b517b63705d47856b73015d27060"
+checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1"
 dependencies = [
  "crossbeam-deque",
  "globset",
  "log",
  "memchr",
- "regex-automata 0.4.3",
+ "regex-automata 0.4.6",
  "same-file",
  "walkdir",
  "winapi-util",
@@ -3519,9 +3202,9 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.1.0"
+version = "2.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
 dependencies = [
  "equivalent",
  "hashbrown 0.14.3",
@@ -3530,9 +3213,9 @@ dependencies = [
 
 [[package]]
 name = "indicatif"
-version = "0.17.7"
+version = "0.17.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25"
+checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3"
 dependencies = [
  "console",
  "instant",
@@ -3543,9 +3226,9 @@ dependencies = [
 
 [[package]]
 name = "indoc"
-version = "2.0.4"
+version = "2.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
+checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
 
 [[package]]
 name = "infer"
@@ -3554,15 +3237,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac"
 
 [[package]]
+name = "inout"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
 name = "instant"
 version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
 dependencies = [
  "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
 ]
 
 [[package]]
@@ -3571,9 +3260,9 @@ version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f3d50eb225913c1903c788287ddd0b16369771e5abc988756a5e5927390ba04f"
 dependencies = [
- "base64 0.21.5",
- "hyper 0.14.27",
- "hyper-rustls",
+ "base64 0.21.7",
+ "hyper 0.14.28",
+ "hyper-rustls 0.24.2",
  "ring 0.16.20",
  "serde",
  "serde_json",
@@ -3591,31 +3280,15 @@ dependencies = [
 ]
 
 [[package]]
-name = "io-extras"
-version = "0.18.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c301e73fb90e8a29e600a9f402d095765f74310d582916a952f618836a1bd1ed"
-dependencies = [
- "io-lifetimes",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "2.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a611371471e98973dbcab4e0ec66c31a10bc356eeb4d54a0e05eac8158fe38c"
-
-[[package]]
 name = "ipconfig"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
 dependencies = [
- "socket2 0.5.5",
+ "socket2 0.5.6",
  "widestring",
  "windows-sys 0.48.0",
- "winreg",
+ "winreg 0.50.0",
 ]
 
 [[package]]
@@ -3625,17 +3298,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
 
 [[package]]
-name = "is-terminal"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
-dependencies = [
- "hermit-abi",
- "rustix",
- "windows-sys 0.48.0",
-]
-
-[[package]]
 name = "itertools"
 version = "0.10.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3646,47 +3308,18 @@ dependencies = [
 
 [[package]]
 name = "itertools"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itertools"
-version = "0.12.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
 dependencies = [
  "either",
 ]
 
 [[package]]
 name = "itoa"
-version = "1.0.9"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
-
-[[package]]
-name = "ittapi"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25a5c0b993601cad796222ea076565c5d9f337d35592f8622c753724f06d7271"
-dependencies = [
- "anyhow",
- "ittapi-sys",
- "log",
-]
-
-[[package]]
-name = "ittapi-sys"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7b5e473765060536a660eed127f758cf1a810c73e49063264959c60d1727d9"
-dependencies = [
- "cc",
-]
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
 
 [[package]]
 name = "jni"
@@ -3712,32 +3345,32 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
 name = "jobserver"
-version = "0.1.27"
+version = "0.1.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
+checksum = "685a7d121ee3f65ae4fddd72b25a04bb36b6af81bc0828f7d5434c0fe60fa3a2"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.66"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
 name = "jsonwebtoken"
-version = "9.2.0"
+version = "9.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c7ea04a7c5c055c175f189b6dc6ba036fd62306b58c66c9f6389036c503a3f4"
+checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "js-sys",
- "pem 3.0.2",
- "ring 0.17.7",
+ "pem 3.0.4",
+ "ring 0.17.8",
  "serde",
  "serde_json",
  "simple_asn1",
@@ -3762,16 +3395,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "leb128"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
-
-[[package]]
 name = "libc"
-version = "0.2.150"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libgit2-sys"
@@ -3793,13 +3420,12 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
 
 [[package]]
 name = "libredox"
-version = "0.0.1"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "libc",
- "redox_syscall 0.4.1",
 ]
 
 [[package]]
@@ -3815,9 +3441,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.12"
+version = "1.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
+checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9"
 dependencies = [
  "cc",
  "libc",
@@ -3833,9 +3459,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.12"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lock_api"
@@ -3849,9 +3475,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
 name = "lru-cache"
@@ -3863,15 +3489,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "mach"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa"
-dependencies = [
- "libc",
-]
-
-[[package]]
 name = "malloc_buf"
 version = "0.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3909,22 +3526,16 @@ checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
 
 [[package]]
 name = "maybe-async"
-version = "0.2.7"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f1b8c13cb1f814b634a96b2c725449fe7ed464a7b8781de8688be5ffbd3f305"
+checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.59",
 ]
 
 [[package]]
-name = "maybe-owned"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4"
-
-[[package]]
 name = "md-5"
 version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3936,33 +3547,15 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
-
-[[package]]
-name = "memfd"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64"
-dependencies = [
- "rustix",
-]
-
-[[package]]
-name = "memmap2"
-version = "0.7.1"
+version = "2.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6"
-dependencies = [
- "libc",
-]
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
 
 [[package]]
 name = "memmap2"
-version = "0.9.0"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "deaba38d7abf1d4cca21cc89e932e542ba2b9258664d2a9ef0e61512039c9375"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
 dependencies = [
  "libc",
 ]
@@ -3977,15 +3570,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "memoffset"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
 name = "mime"
 version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4009,18 +3593,18 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
 ]
 
 [[package]]
 name = "mio"
-version = "0.8.10"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
 dependencies = [
  "libc",
  "log",
@@ -4030,9 +3614,9 @@ dependencies = [
 
 [[package]]
 name = "mongodb"
-version = "2.7.1"
+version = "2.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7c926772050c3a3f87c837626bf6135c8ca688d91d31dd39a3da547fc2bc9fe"
+checksum = "ef206acb1b72389b49bc9985efe7eb1f8a9bb18e5680d262fac26c07f44025f1"
 dependencies = [
  "async-trait",
  "base64 0.13.1",
@@ -4053,8 +3637,8 @@ dependencies = [
  "percent-encoding",
  "rand 0.8.5",
  "rustc_version_runtime",
- "rustls",
- "rustls-pemfile",
+ "rustls 0.21.11",
+ "rustls-pemfile 1.0.4",
  "serde",
  "serde_bytes",
  "serde_with 1.14.0",
@@ -4062,30 +3646,17 @@ dependencies = [
  "sha2",
  "socket2 0.4.10",
  "stringprep",
- "strsim",
+ "strsim 0.10.0",
  "take_mut",
  "thiserror",
  "tokio",
- "tokio-rustls",
+ "tokio-rustls 0.24.1",
  "tokio-util",
- "trust-dns-proto 0.21.2",
- "trust-dns-resolver 0.21.2",
+ "trust-dns-proto",
+ "trust-dns-resolver",
  "typed-builder",
  "uuid",
- "webpki-roots",
-]
-
-[[package]]
-name = "nbuild-core"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e5ab1b0a3450a5031ae7d555bb0c71dd3b15bf8a2f2af79e00aec91f69a4a0e"
-dependencies = [
- "cargo-lock",
- "cargo_metadata 0.15.4",
- "target-spec",
- "thiserror",
- "tracing",
+ "webpki-roots 0.25.4",
 ]
 
 [[package]]
@@ -4104,22 +3675,11 @@ dependencies = [
  "bitflags 1.3.2",
  "cfg-if",
  "libc",
- "memoffset 0.6.5",
+ "memoffset",
  "pin-utils",
 ]
 
 [[package]]
-name = "nix"
-version = "0.27.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
-dependencies = [
- "bitflags 2.4.1",
- "cfg-if",
- "libc",
-]
-
-[[package]]
 name = "nom"
 version = "7.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4168,20 +3728,25 @@ dependencies = [
 ]
 
 [[package]]
+name = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
 name = "num-integer"
-version = "0.1.45"
+version = "0.1.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
 dependencies = [
- "autocfg",
  "num-traits",
 ]
 
 [[package]]
 name = "num-iter"
-version = "0.1.43"
+version = "0.1.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9"
 dependencies = [
  "autocfg",
  "num-integer",
@@ -4190,9 +3755,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
  "libm",
@@ -4210,9 +3775,9 @@ dependencies = [
 
 [[package]]
 name = "num_threads"
-version = "0.1.6"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
+checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
 dependencies = [
  "libc",
 ]
@@ -4234,13 +3799,10 @@ dependencies = [
 
 [[package]]
 name = "object"
-version = "0.32.1"
+version = "0.32.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
 dependencies = [
- "crc32fast",
- "hashbrown 0.14.3",
- "indexmap 2.1.0",
  "memchr",
 ]
 
@@ -4289,7 +3851,7 @@ checksum = "1e32339a5dc40459130b3bd269e9892439f55b33e772d2a9d402a789baaf4e8a"
 dependencies = [
  "futures-core",
  "futures-sink",
- "indexmap 2.1.0",
+ "indexmap 2.2.6",
  "js-sys",
  "once_cell",
  "pin-project-lite",
@@ -4318,7 +3880,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7e448fc8ad3687b1dd9073087941834f54093624c015a7fbd1f1efc5a38a7737"
 dependencies = [
  "async-trait",
- "http 0.2.11",
+ "http 0.2.12",
  "indexmap 1.9.3",
  "lazy_static",
  "opentelemetry 0.12.0",
@@ -4334,7 +3896,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "69a853d37ac1c02889211517007a99b2a90d3d7e89526f9af037ada84f1326a1"
 dependencies = [
  "async-trait",
- "http 0.2.11",
+ "http 0.2.12",
  "opentelemetry 0.12.0",
  "thiserror",
 ]
@@ -4347,8 +3909,9 @@ checksum = "7f51189ce8be654f9b5f7e70e49967ed894e84a06fc35c6c042e64ac1fc5399e"
 dependencies = [
  "async-trait",
  "bytes",
- "http 0.2.11",
+ "http 0.2.12",
  "opentelemetry 0.21.0",
+ "reqwest 0.11.27",
 ]
 
 [[package]]
@@ -4359,12 +3922,14 @@ checksum = "f24cda83b20ed2433c68241f918d0f6fdec8b1d43b7a9590ab4420c5095ca930"
 dependencies = [
  "async-trait",
  "futures-core",
- "http 0.2.11",
+ "http 0.2.12",
  "opentelemetry 0.21.0",
+ "opentelemetry-http 0.10.0",
  "opentelemetry-proto",
  "opentelemetry-semantic-conventions",
  "opentelemetry_sdk",
  "prost 0.11.9",
+ "reqwest 0.11.27",
  "thiserror",
  "tokio",
  "tonic 0.9.2",
@@ -4393,9 +3958,9 @@ dependencies = [
 
 [[package]]
 name = "opentelemetry_sdk"
-version = "0.21.1"
+version = "0.21.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968ba3f2ca03e90e5187f5e4f46c791ef7f2c163ae87789c8ce5f5ca3b7b7de5"
+checksum = "2f16aec8a98a457a52664d69e0091bac3a0abd18ead9b641cb00202ba4e0efe4"
 dependencies = [
  "async-trait",
  "crossbeam-channel",
@@ -4430,16 +3995,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "os_pipe"
-version = "1.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177"
-dependencies = [
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
 name = "outref"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4459,50 +4014,36 @@ checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
 
 [[package]]
 name = "parking_lot"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
-dependencies = [
- "instant",
- "lock_api",
- "parking_lot_core 0.8.6",
-]
-
-[[package]]
-name = "parking_lot"
 version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
  "lock_api",
- "parking_lot_core 0.9.9",
+ "parking_lot_core",
 ]
 
 [[package]]
 name = "parking_lot_core"
-version = "0.8.6"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if",
- "instant",
  "libc",
- "redox_syscall 0.2.16",
+ "redox_syscall",
  "smallvec",
- "winapi",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
-name = "parking_lot_core"
-version = "0.9.9"
+name = "password-hash"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700"
 dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall 0.4.1",
- "smallvec",
- "windows-targets 0.48.5",
+ "base64ct",
+ "rand_core 0.6.4",
+ "subtle",
 ]
 
 [[package]]
@@ -4518,6 +4059,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
 dependencies = [
  "digest",
+ "hmac",
+ "password-hash",
+ "sha2",
 ]
 
 [[package]]
@@ -4535,17 +4079,17 @@ version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6b13fe415cdf3c8e44518e18a7c95a13431d9bdf6d15367d82b23c377fdd441a"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "serde",
 ]
 
 [[package]]
 name = "pem"
-version = "3.0.2"
+version = "3.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3163d2912b7c3b52d651a055f2c7eec9ba5cd22d26ef75b8dd3a59980b185923"
+checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.22.0",
  "serde",
 ]
 
@@ -4565,30 +4109,58 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
+name = "permit-client-rs"
+version = "2.0.0"
+source = "git+https://github.com/shuttle-hq/permit-client-rs?rev=19085ba#19085ba73bb87c879731590f4a3a988e92d076ac"
+dependencies = [
+ "reqwest 0.11.27",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "serde_with 2.3.3",
+ "url",
+ "uuid",
+]
+
+[[package]]
+name = "permit-pdp-client-rs"
+version = "0.2.0"
+source = "git+https://github.com/shuttle-hq/permit-pdp-client-rs?rev=37c7296#37c72968adf360aa4e2386c3f0c918b823fb919f"
+dependencies = [
+ "reqwest 0.11.27",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "serde_with 2.3.3",
+ "url",
+ "uuid",
+]
+
+[[package]]
 name = "pin-project"
-version = "1.1.3"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
+checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.3"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
+checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.13"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
 
 [[package]]
 name = "pin-utils"
@@ -4619,9 +4191,9 @@ dependencies = [
 
 [[package]]
 name = "pkg-config"
-version = "0.3.27"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "portable-atomic"
@@ -4663,13 +4235,12 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "predicates"
-version = "3.0.4"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6dfc28575c2e3f19cb3c73b93af36460ae898d426eba6fc15b9bd2a5220758a0"
+checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8"
 dependencies = [
  "anstyle",
  "difflib",
- "itertools 0.11.0",
  "predicates-core",
 ]
 
@@ -4725,18 +4296,18 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.70"
+version = "1.0.81"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
+checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "prodash"
-version = "26.2.2"
+version = "28.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "794b5bf8e2d19b53dcdcec3e4bba628e20f5b6062503ba89281fa7037dd7bbcf"
+checksum = "744a264d26b88a6a7e37cbad97953fa233b94d585236310bcbc88474b4092d79"
 
 [[package]]
 name = "proptest"
@@ -4746,13 +4317,13 @@ checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf"
 dependencies = [
  "bit-set",
  "bit-vec",
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "lazy_static",
  "num-traits",
  "rand 0.8.5",
  "rand_chacha 0.3.1",
  "rand_xorshift",
- "regex-syntax 0.8.2",
+ "regex-syntax 0.8.3",
  "rusty-fork",
  "tempfile",
  "unarray",
@@ -4770,12 +4341,12 @@ dependencies = [
 
 [[package]]
 name = "prost"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a"
+checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922"
 dependencies = [
  "bytes",
- "prost-derive 0.12.3",
+ "prost-derive 0.12.4",
 ]
 
 [[package]]
@@ -4793,53 +4364,27 @@ dependencies = [
 
 [[package]]
 name = "prost-derive"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e"
+checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48"
 dependencies = [
  "anyhow",
- "itertools 0.11.0",
+ "itertools 0.12.1",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
 name = "prost-types"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e"
+checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe"
 dependencies = [
- "prost 0.12.3",
+ "prost 0.12.4",
 ]
 
 [[package]]
-name = "psm"
-version = "0.1.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "pulldown-cmark"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998"
-dependencies = [
- "bitflags 1.3.2",
- "memchr",
- "unicase",
-]
-
-[[package]]
-name = "queues"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1475abae4f8ad4998590fe3acfe20104f0a5d48fc420c817cd2c09c3f56151f0"
-
-[[package]]
 name = "quick-error"
 version = "1.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4847,9 +4392,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
 dependencies = [
  "proc-macro2",
 ]
@@ -4919,7 +4464,7 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.14",
 ]
 
 [[package]]
@@ -4947,32 +4492,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
-name = "rayon"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
-dependencies = [
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
-dependencies = [
- "crossbeam-deque",
- "crossbeam-utils",
-]
-
-[[package]]
 name = "rcgen"
 version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "52c4f3084aa3bc7dfbba4eff4fab2a54db4324965d8872ab933565e6fbd83bc6"
 dependencies = [
- "pem 3.0.2",
+ "pem 3.0.4",
  "ring 0.16.20",
  "time",
  "yasna",
@@ -4980,15 +4505,6 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "redox_syscall"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
@@ -4998,38 +4514,25 @@ dependencies = [
 
 [[package]]
 name = "redox_users"
-version = "0.4.4"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891"
 dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.14",
  "libredox",
  "thiserror",
 ]
 
 [[package]]
-name = "regalloc2"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6"
-dependencies = [
- "hashbrown 0.13.2",
- "log",
- "rustc-hash",
- "slice-group-by",
- "smallvec",
-]
-
-[[package]]
 name = "regex"
-version = "1.10.2"
+version = "1.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata 0.4.3",
- "regex-syntax 0.8.2",
+ "regex-automata 0.4.6",
+ "regex-syntax 0.8.3",
 ]
 
 [[package]]
@@ -5043,13 +4546,13 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.3"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax 0.8.2",
+ "regex-syntax 0.8.3",
 ]
 
 [[package]]
@@ -5060,26 +4563,26 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
 
 [[package]]
 name = "regex-syntax"
-version = "0.8.2"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
 
 [[package]]
 name = "reqwest"
-version = "0.11.22"
+version = "0.11.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b"
+checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
  "encoding_rs",
  "futures-core",
  "futures-util",
- "h2 0.3.24",
- "http 0.2.11",
- "http-body 0.4.5",
- "hyper 0.14.27",
- "hyper-rustls",
+ "h2 0.3.26",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
+ "hyper-rustls 0.24.2",
  "ipnet",
  "js-sys",
  "log",
@@ -5088,60 +4591,68 @@ dependencies = [
  "once_cell",
  "percent-encoding",
  "pin-project-lite",
- "rustls",
- "rustls-pemfile",
+ "rustls 0.21.11",
+ "rustls-native-certs",
+ "rustls-pemfile 1.0.4",
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "sync_wrapper",
  "system-configuration",
  "tokio",
- "tokio-rustls",
+ "tokio-rustls 0.24.1",
  "tower-service",
- "trust-dns-resolver 0.23.2",
  "url",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
- "webpki-roots",
- "winreg",
+ "webpki-roots 0.25.4",
+ "winreg 0.50.0",
 ]
 
 [[package]]
-name = "reqwest-middleware"
-version = "0.2.4"
+name = "reqwest"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88a3e86aa6053e59030e7ce2d2a3b258dd08fc2d337d52f73f6cb480f5858690"
+checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10"
 dependencies = [
- "anyhow",
- "async-trait",
- "http 0.2.11",
- "reqwest",
+ "base64 0.22.0",
+ "bytes",
+ "encoding_rs",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2 0.4.4",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "http-body-util",
+ "hyper 1.3.1",
+ "hyper-rustls 0.26.0",
+ "hyper-util",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustls 0.22.4",
+ "rustls-pemfile 2.1.2",
+ "rustls-pki-types",
  "serde",
- "task-local-extensions",
- "thiserror",
-]
-
-[[package]]
-name = "reqwest-retry"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9af20b65c2ee9746cc575acb6bd28a05ffc0d15e25c992a8f4462d8686aacb4f"
-dependencies = [
- "anyhow",
- "async-trait",
- "chrono",
- "futures",
- "getrandom 0.2.11",
- "http 0.2.11",
- "hyper 0.14.27",
- "parking_lot 0.11.2",
- "reqwest",
- "reqwest-middleware",
- "retry-policies",
- "task-local-extensions",
+ "serde_json",
+ "serde_urlencoded",
+ "sync_wrapper",
+ "system-configuration",
  "tokio",
- "tracing",
- "wasm-timer",
+ "tokio-rustls 0.25.0",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "webpki-roots 0.26.1",
+ "winreg 0.52.0",
 ]
 
 [[package]]
@@ -5155,30 +4666,13 @@ dependencies = [
 ]
 
 [[package]]
-name = "retain_mut"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0"
-
-[[package]]
-name = "retry-policies"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17dd00bff1d737c40dbcd47d4375281bf4c17933f9eef0a185fc7bacca23ecbd"
-dependencies = [
- "anyhow",
- "chrono",
- "rand 0.8.5",
-]
-
-[[package]]
 name = "rexpect"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "01ff60778f96fb5a48adbe421d21bf6578ed58c0872d712e7e08593c195adff8"
 dependencies = [
  "comma",
- "nix 0.25.1",
+ "nix",
  "regex",
  "tempfile",
  "thiserror",
@@ -5201,23 +4695,24 @@ dependencies = [
 
 [[package]]
 name = "ring"
-version = "0.17.7"
+version = "0.17.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
+checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
 dependencies = [
  "cc",
- "getrandom 0.2.11",
+ "cfg-if",
+ "getrandom 0.2.14",
  "libc",
  "spin 0.9.8",
  "untrusted 0.9.0",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rmp"
-version = "0.8.12"
+version = "0.8.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f9860a6cc38ed1da53456442089b4dfa35e7cedaa326df63017af88385e6b20"
+checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4"
 dependencies = [
  "byteorder",
  "num-traits",
@@ -5226,9 +4721,9 @@ dependencies = [
 
 [[package]]
 name = "rmp-serde"
-version = "1.1.2"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bffea85eea980d8a74453e5d02a8d93028f3c34725de143085a844ebe953258a"
+checksum = "938a142ab806f18b88a97b0dea523d39e0fd730a064b035726adcfc58a8a5188"
 dependencies = [
  "byteorder",
  "rmp",
@@ -5288,7 +4783,7 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
 dependencies = [
- "semver 1.0.20",
+ "semver 1.0.22",
 ]
 
 [[package]]
@@ -5312,39 +4807,51 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.26"
+version = "0.38.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a"
+checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "errno",
- "itoa",
  "libc",
  "linux-raw-sys",
- "once_cell",
  "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rustls"
-version = "0.21.9"
+version = "0.21.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9"
+checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4"
 dependencies = [
  "log",
- "ring 0.17.7",
- "rustls-webpki",
+ "ring 0.17.8",
+ "rustls-webpki 0.101.7",
  "sct",
 ]
 
 [[package]]
+name = "rustls"
+version = "0.22.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
+dependencies = [
+ "log",
+ "ring 0.17.8",
+ "rustls-pki-types",
+ "rustls-webpki 0.102.3",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
 name = "rustls-native-certs"
 version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
 dependencies = [
  "openssl-probe",
- "rustls-pemfile",
+ "rustls-pemfile 1.0.4",
  "schannel",
  "security-framework",
 ]
@@ -5355,16 +4862,43 @@ version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "2.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
+dependencies = [
+ "base64 0.22.0",
+ "rustls-pki-types",
 ]
 
 [[package]]
+name = "rustls-pki-types"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247"
+
+[[package]]
 name = "rustls-webpki"
 version = "0.101.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
 dependencies = [
- "ring 0.17.7",
+ "ring 0.17.8",
+ "untrusted 0.9.0",
+]
+
+[[package]]
+name = "rustls-webpki"
+version = "0.102.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf"
+dependencies = [
+ "ring 0.17.8",
+ "rustls-pki-types",
  "untrusted 0.9.0",
 ]
 
@@ -5381,15 +4915,15 @@ dependencies = [
  "itertools 0.10.5",
  "lazy_static",
  "rustc-hash",
- "strsim",
+ "strsim 0.10.0",
  "unicode-normalization",
 ]
 
 [[package]]
 name = "rustversion"
-version = "1.0.14"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47"
 
 [[package]]
 name = "rusty-fork"
@@ -5405,9 +4939,9 @@ dependencies = [
 
 [[package]]
 name = "ryu"
-version = "1.0.15"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
 
 [[package]]
 name = "same-file"
@@ -5420,11 +4954,11 @@ dependencies = [
 
 [[package]]
 name = "schannel"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -5439,15 +4973,15 @@ version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
 dependencies = [
- "ring 0.17.7",
+ "ring 0.17.8",
  "untrusted 0.9.0",
 ]
 
 [[package]]
 name = "security-framework"
-version = "2.9.2"
+version = "2.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6"
 dependencies = [
  "bitflags 1.3.2",
  "core-foundation",
@@ -5458,9 +4992,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework-sys"
-version = "2.9.1"
+version = "2.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -5477,9 +5011,9 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.20"
+version = "1.0.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
 dependencies = [
  "serde",
 ]
@@ -5492,40 +5026,40 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 
 [[package]]
 name = "serde"
-version = "1.0.193"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
+checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_bytes"
-version = "0.11.12"
+version = "0.11.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff"
+checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.193"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
+checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.108"
+version = "1.0.116"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.6",
  "itoa",
  "ryu",
  "serde",
@@ -5533,9 +5067,9 @@ dependencies = [
 
 [[package]]
 name = "serde_path_to_error"
-version = "0.1.14"
+version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335"
+checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6"
 dependencies = [
  "itoa",
  "serde",
@@ -5565,20 +5099,20 @@ dependencies = [
 
 [[package]]
 name = "serde_repr"
-version = "0.1.17"
+version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
+checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.4"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
 dependencies = [
  "serde",
 ]
@@ -5602,22 +5136,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff"
 dependencies = [
  "serde",
- "serde_with_macros",
+ "serde_with_macros 1.5.2",
 ]
 
 [[package]]
 name = "serde_with"
-version = "3.4.0"
+version = "2.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
+checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.13.1",
  "chrono",
  "hex",
  "indexmap 1.9.3",
- "indexmap 2.1.0",
  "serde",
  "serde_json",
+ "serde_with_macros 2.3.3",
+ "time",
+]
+
+[[package]]
+name = "serde_with"
+version = "3.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a"
+dependencies = [
+ "base64 0.21.7",
+ "chrono",
+ "hex",
+ "indexmap 1.9.3",
+ "indexmap 2.2.6",
+ "serde",
+ "serde_derive",
+ "serde_json",
  "time",
 ]
 
@@ -5627,13 +5178,50 @@ version = "1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082"
 dependencies = [
- "darling",
+ "darling 0.13.4",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
 ]
 
 [[package]]
+name = "serde_with_macros"
+version = "2.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f"
+dependencies = [
+ "darling 0.20.8",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+]
+
+[[package]]
+name = "serial_test"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "953ad9342b3aaca7cb43c45c097dd008d4907070394bd0751a0aa8817e5a018d"
+dependencies = [
+ "dashmap",
+ "futures",
+ "lazy_static",
+ "log",
+ "parking_lot",
+ "serial_test_derive",
+]
+
+[[package]]
+name = "serial_test_derive"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b93fb4adc70021ac1b47f7d45e8cc4169baaa7ea58483bc5b721d19a26202212"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+]
+
+[[package]]
 name = "sha-1"
 version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5688,55 +5276,49 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
 
 [[package]]
-name = "shellexpand"
-version = "2.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4"
-dependencies = [
- "dirs 4.0.0",
-]
-
-[[package]]
 name = "shuttle-admin"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "anyhow",
+ "bytes",
  "clap",
- "dirs 5.0.1",
- "reqwest",
+ "dirs",
+ "reqwest 0.11.27",
  "serde",
  "serde_json",
+ "shuttle-backends",
  "shuttle-common",
  "tokio",
- "toml 0.8.8",
+ "toml",
  "tracing",
  "tracing-subscriber",
 ]
 
 [[package]]
 name = "shuttle-auth"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "anyhow",
  "async-stripe",
  "async-trait",
  "axum",
  "axum-extra",
- "base64 0.21.5",
+ "base64 0.21.7",
  "chrono",
  "clap",
  "ctor",
- "http 0.2.11",
- "hyper 0.14.27",
+ "http 0.2.12",
+ "hyper 0.14.28",
  "jsonwebtoken",
  "once_cell",
  "opentelemetry 0.21.0",
  "pem 2.0.1",
  "portpicker",
  "pretty_assertions",
- "ring 0.17.7",
+ "ring 0.17.8",
  "serde",
  "serde_json",
+ "shuttle-backends",
  "shuttle-common",
  "shuttle-common-tests",
  "sqlx",
@@ -5746,100 +5328,109 @@ dependencies = [
  "tracing",
  "tracing-opentelemetry",
  "tracing-subscriber",
+ "ulid",
  "wiremock",
 ]
 
 [[package]]
-name = "shuttle-builder"
-version = "0.39.0"
+name = "shuttle-backends"
+version = "0.45.0"
 dependencies = [
+ "anyhow",
  "async-trait",
- "clap",
- "flate2",
- "hex",
- "nbuild-core",
- "os_pipe",
+ "axum",
+ "base64 0.21.7",
+ "bytes",
+ "ctor",
+ "headers",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
+ "jsonwebtoken",
+ "opentelemetry 0.21.0",
+ "opentelemetry-appender-tracing",
+ "opentelemetry-http 0.10.0",
+ "opentelemetry-otlp",
+ "opentelemetry_sdk",
+ "permit-client-rs",
+ "permit-pdp-client-rs",
+ "pin-project",
  "portpicker",
- "pretty_assertions",
+ "reqwest 0.11.27",
+ "ring 0.17.8",
+ "rustrict",
+ "serde",
+ "serde_json",
+ "serial_test",
  "shuttle-common",
  "shuttle-common-tests",
  "shuttle-proto",
- "tar",
- "tempfile",
+ "sqlx",
+ "strum 0.26.2",
+ "test-context",
  "thiserror",
  "tokio",
- "toml 0.8.8",
  "tonic 0.10.2",
+ "tower",
+ "tower-http",
  "tracing",
+ "tracing-fluent-assertions",
+ "tracing-opentelemetry",
  "tracing-subscriber",
- "ulid",
+ "ttl_cache",
+ "uuid",
+ "wiremock",
 ]
 
 [[package]]
 name = "shuttle-codegen"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "pretty_assertions",
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "reqwest",
+ "reqwest 0.11.27",
  "serde",
  "serde_json",
  "shuttle-common-tests",
- "syn 2.0.39",
+ "syn 2.0.59",
  "tokio",
  "trybuild",
 ]
 
 [[package]]
 name = "shuttle-common"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "anyhow",
  "async-trait",
  "axum",
- "base64 0.21.5",
  "bytes",
  "chrono",
  "comfy-table",
  "crossterm 0.27.0",
  "headers",
- "http 0.2.11",
- "http-body 0.4.5",
- "http-serde",
- "hyper 0.14.27",
+ "http 0.2.12",
+ "http-body 0.4.6",
  "jsonwebtoken",
- "once_cell",
  "opentelemetry 0.21.0",
- "opentelemetry-appender-tracing",
  "opentelemetry-http 0.10.0",
- "opentelemetry-otlp",
- "opentelemetry_sdk",
  "pin-project",
  "proptest",
  "rand 0.8.5",
- "reqwest",
- "ring 0.17.7",
- "rmp-serde",
- "rustrict",
- "semver 1.0.20",
+ "reqwest 0.11.27",
+ "semver 1.0.22",
  "serde",
  "serde_json",
  "sqlx",
- "strum 0.25.0",
- "test-context",
+ "strum 0.26.2",
  "thiserror",
- "tokio",
  "tonic 0.10.2",
  "tower",
- "tower-http 0.4.4",
  "tracing",
- "tracing-core",
- "tracing-fluent-assertions",
  "tracing-opentelemetry",
  "tracing-subscriber",
- "ttl_cache",
  "url",
  "uuid",
  "wiremock",
@@ -5848,12 +5439,12 @@ dependencies = [
 
 [[package]]
 name = "shuttle-common-tests"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "cargo-shuttle",
- "hyper 0.14.27",
+ "hyper 0.14.28",
  "portpicker",
- "reqwest",
+ "reqwest 0.11.27",
  "serde",
  "shuttle-common",
  "shuttle-proto",
@@ -5866,19 +5457,19 @@ dependencies = [
 
 [[package]]
 name = "shuttle-deployer"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "anyhow",
  "async-trait",
  "axum",
- "cargo_metadata 0.18.1",
+ "cargo_metadata",
  "chrono",
  "clap",
  "ctor",
  "flate2",
  "hex",
  "home",
- "hyper 0.14.27",
+ "hyper 0.14.28",
  "hyper-reverse-proxy",
  "once_cell",
  "opentelemetry 0.21.0",
@@ -5888,18 +5479,19 @@ dependencies = [
  "rmp-serde",
  "serde",
  "serde_json",
+ "shuttle-backends",
  "shuttle-common",
  "shuttle-common-tests",
  "shuttle-proto",
  "shuttle-service",
  "sqlx",
- "strum 0.25.0",
+ "strum 0.26.2",
  "tar",
  "tempfile",
  "thiserror",
  "tokio",
  "tokio-stream",
- "toml 0.8.8",
+ "toml",
  "tonic 0.10.2",
  "tower",
  "tracing",
@@ -5911,7 +5503,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-gateway"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "anyhow",
  "async-posthog",
@@ -5925,8 +5517,8 @@ dependencies = [
  "flate2",
  "fqdn",
  "futures",
- "http 0.2.11",
- "hyper 0.14.27",
+ "http 0.2.12",
+ "hyper 0.14.28",
  "hyper-reverse-proxy",
  "instant-acme",
  "jsonwebtoken",
@@ -5941,27 +5533,29 @@ dependencies = [
  "portpicker",
  "rand 0.8.5",
  "rcgen",
- "reqwest",
- "ring 0.17.7",
+ "reqwest 0.11.27",
+ "ring 0.17.8",
  "rmp-serde",
- "rustls",
- "rustls-pemfile",
+ "rustls 0.21.11",
+ "rustls-pemfile 1.0.4",
+ "semver 1.0.22",
  "serde",
  "serde_json",
+ "shuttle-backends",
  "shuttle-common",
  "shuttle-common-tests",
- "shuttle-orchestrator",
  "shuttle-proto",
  "snailquote",
  "sqlx",
- "strum 0.25.0",
+ "strum 0.26.2",
  "tar",
  "tempfile",
  "test-context",
+ "thiserror",
  "tokio",
  "tonic 0.10.2",
  "tower",
- "tower-http 0.4.4",
+ "tower-http",
  "tower-sanitize-path",
  "tracing",
  "tracing-opentelemetry",
@@ -5974,7 +5568,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-logger"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "async-trait",
  "chrono",
@@ -5985,6 +5579,7 @@ dependencies = [
  "pretty_assertions",
  "prost-types",
  "serde_json",
+ "shuttle-backends",
  "shuttle-common",
  "shuttle-common-tests",
  "shuttle-proto",
@@ -5998,24 +5593,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "shuttle-orchestrator"
-version = "0.39.0"
-
-[[package]]
 name = "shuttle-proto"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "anyhow",
  "async-trait",
  "chrono",
  "futures-core",
- "http 0.2.11",
+ "http 0.2.12",
  "portpicker",
- "prost 0.12.3",
+ "prost 0.12.4",
  "prost-types",
  "serde_json",
  "shuttle-common",
- "test-context",
  "tokio",
  "tonic 0.10.2",
  "tower",
@@ -6024,7 +5614,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-provisioner"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "aws-config",
  "aws-sdk-rds",
@@ -6034,9 +5624,10 @@ dependencies = [
  "mongodb",
  "once_cell",
  "portpicker",
- "prost 0.12.3",
+ "prost 0.12.4",
  "rand 0.8.5",
  "serde_json",
+ "shuttle-backends",
  "shuttle-common",
  "shuttle-common-tests",
  "shuttle-proto",
@@ -6050,7 +5641,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-resource-recorder"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "async-trait",
  "chrono",
@@ -6059,11 +5650,12 @@ dependencies = [
  "pretty_assertions",
  "prost-types",
  "serde_json",
+ "shuttle-backends",
  "shuttle-common",
  "shuttle-common-tests",
  "shuttle-proto",
  "sqlx",
- "strum 0.25.0",
+ "strum 0.26.2",
  "thiserror",
  "tokio",
  "tonic 0.10.2",
@@ -6074,18 +5666,12 @@ dependencies = [
 
 [[package]]
 name = "shuttle-runtime"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "anyhow",
  "async-trait",
- "cap-std",
- "chrono",
  "colored",
- "futures",
- "hyper 0.14.27",
  "portpicker",
- "prost-types",
- "rmp-serde",
  "serde",
  "serde_json",
  "shuttle-codegen",
@@ -6093,24 +5679,21 @@ dependencies = [
  "shuttle-proto",
  "shuttle-service",
  "strfmt",
- "thiserror",
  "tokio",
  "tokio-stream",
+ "tokio-util",
  "tonic 0.10.2",
  "tracing-subscriber",
  "uuid",
- "wasi-common",
- "wasmtime",
- "wasmtime-wasi",
 ]
 
 [[package]]
 name = "shuttle-service"
-version = "0.39.0"
+version = "0.45.0"
 dependencies = [
  "anyhow",
  "async-trait",
- "cargo_metadata 0.18.1",
+ "cargo_metadata",
  "dunce",
  "serde",
  "shuttle-common",
@@ -6118,7 +5701,7 @@ dependencies = [
  "strfmt",
  "thiserror",
  "tokio",
- "toml 0.8.8",
+ "toml",
  "tracing",
 ]
 
@@ -6184,16 +5767,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "slice-group-by"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7"
-
-[[package]]
 name = "smallvec"
-version = "1.11.2"
+version = "1.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 [[package]]
 name = "smart-default"
@@ -6237,12 +5814,12 @@ dependencies = [
 
 [[package]]
 name = "socket2"
-version = "0.5.5"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -6271,27 +5848,21 @@ dependencies = [
 ]
 
 [[package]]
-name = "sptr"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a"
-
-[[package]]
 name = "sqlformat"
 version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c"
 dependencies = [
- "itertools 0.12.0",
+ "itertools 0.12.1",
  "nom",
  "unicode_categories",
 ]
 
 [[package]]
 name = "sqlx"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dba03c279da73694ef99763320dea58b51095dfe87d001b1d4b5fe78ba8763cf"
+checksum = "c9a2ccff1a000a5a59cd33da541d9f2fdcd9e6e8229cc200565942bff36d0aaa"
 dependencies = [
  "sqlx-core",
  "sqlx-macros",
@@ -6302,9 +5873,9 @@ dependencies = [
 
 [[package]]
 name = "sqlx-core"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d84b0a3c3739e220d94b3239fd69fb1f74bc36e16643423bd99de3b43c21bfbd"
+checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6"
 dependencies = [
  "ahash",
  "atoi",
@@ -6313,7 +5884,6 @@ dependencies = [
  "chrono",
  "crc",
  "crossbeam-queue",
- "dotenvy",
  "either",
  "event-listener",
  "futures-channel",
@@ -6323,14 +5893,14 @@ dependencies = [
  "futures-util",
  "hashlink",
  "hex",
- "indexmap 2.1.0",
+ "indexmap 2.2.6",
  "log",
  "memchr",
  "once_cell",
  "paste",
  "percent-encoding",
- "rustls",
- "rustls-pemfile",
+ "rustls 0.21.11",
+ "rustls-pemfile 1.0.4",
  "serde",
  "serde_json",
  "sha2",
@@ -6342,14 +5912,14 @@ dependencies = [
  "tracing",
  "url",
  "uuid",
- "webpki-roots",
+ "webpki-roots 0.25.4",
 ]
 
 [[package]]
 name = "sqlx-macros"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89961c00dc4d7dffb7aee214964b065072bff69e36ddb9e2c107541f75e4f2a5"
+checksum = "4ea40e2345eb2faa9e1e5e326db8c34711317d2b5e08d0d5741619048a803127"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -6360,14 +5930,13 @@ dependencies = [
 
 [[package]]
 name = "sqlx-macros-core"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0bd4519486723648186a08785143599760f7cc81c52334a55d6a83ea1e20841"
+checksum = "5833ef53aaa16d860e92123292f1f6a3d53c34ba8b1969f152ef1a7bb803f3c8"
 dependencies = [
- "atomic-write-file",
  "dotenvy",
  "either",
- "heck",
+ "heck 0.4.1",
  "hex",
  "once_cell",
  "proc-macro2",
@@ -6387,13 +5956,13 @@ dependencies = [
 
 [[package]]
 name = "sqlx-mysql"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4"
+checksum = "1ed31390216d20e538e447a7a9b959e06ed9fc51c37b514b46eb758016ecd418"
 dependencies = [
  "atoi",
- "base64 0.21.5",
- "bitflags 2.4.1",
+ "base64 0.21.7",
+ "bitflags 2.5.0",
  "byteorder",
  "bytes",
  "chrono",
@@ -6431,13 +6000,13 @@ dependencies = [
 
 [[package]]
 name = "sqlx-postgres"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24"
+checksum = "7c824eb80b894f926f89a0b9da0c7f435d27cdd35b8c655b114e58223918577e"
 dependencies = [
  "atoi",
- "base64 0.21.5",
- "bitflags 2.4.1",
+ "base64 0.21.7",
+ "bitflags 2.5.0",
  "byteorder",
  "chrono",
  "crc",
@@ -6459,7 +6028,6 @@ dependencies = [
  "rand 0.8.5",
  "serde",
  "serde_json",
- "sha1",
  "sha2",
  "smallvec",
  "sqlx-core",
@@ -6472,9 +6040,9 @@ dependencies = [
 
 [[package]]
 name = "sqlx-sqlite"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "210976b7d948c7ba9fced8ca835b11cbb2d677c59c79de41ac0d397e14547490"
+checksum = "b244ef0a8414da0bed4bb1910426e890b19e5e9bccc27ada6b797d05c55ae0aa"
 dependencies = [
  "atoi",
  "chrono",
@@ -6496,12 +6064,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "stable_deref_trait"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
-
-[[package]]
 name = "static_assertions"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6531,6 +6093,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
 name = "strum"
 version = "0.24.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6538,11 +6106,11 @@ checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
 
 [[package]]
 name = "strum"
-version = "0.25.0"
+version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
+checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
 dependencies = [
- "strum_macros 0.25.3",
+ "strum_macros 0.26.2",
 ]
 
 [[package]]
@@ -6551,7 +6119,7 @@ version = "0.24.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
 dependencies = [
- "heck",
+ "heck 0.4.1",
  "proc-macro2",
  "quote",
  "rustversion",
@@ -6560,22 +6128,22 @@ dependencies = [
 
 [[package]]
 name = "strum_macros"
-version = "0.25.3"
+version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
+checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
 dependencies = [
- "heck",
+ "heck 0.4.1",
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
 name = "subtle"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
 
 [[package]]
 name = "syn"
@@ -6590,9 +6158,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.39"
+version = "2.0.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
+checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -6639,22 +6207,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "system-interface"
-version = "0.26.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27ce32341b2c0b70c144bbf35627fdc1ef18c76ced5e5e7b3ee8b5ba6b2ab6a0"
-dependencies = [
- "bitflags 2.4.1",
- "cap-fs-ext",
- "cap-std",
- "fd-lock",
- "io-lifetimes",
- "rustix",
- "windows-sys 0.48.0",
- "winx",
-]
-
-[[package]]
 name = "take_mut"
 version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6678,49 +6230,22 @@ dependencies = [
 ]
 
 [[package]]
-name = "target-lexicon"
-version = "0.12.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"
-
-[[package]]
-name = "target-spec"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bf4306559bd50cb358e7af5692694d6f6fad95cf2c0bea2571dd419f5298e12"
-dependencies = [
- "cfg-expr",
- "guppy-workspace-hack",
- "target-lexicon",
-]
-
-[[package]]
-name = "task-local-extensions"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba323866e5d033818e3240feeb9f7db2c4296674e4d9e16b97b7bf8f490434e8"
-dependencies = [
- "pin-utils",
-]
-
-[[package]]
 name = "tempfile"
-version = "3.8.1"
+version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
 dependencies = [
  "cfg-if",
- "fastrand 2.0.1",
- "redox_syscall 0.4.1",
+ "fastrand 2.0.2",
  "rustix",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "termcolor"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
@@ -6733,50 +6258,50 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
 
 [[package]]
 name = "test-context"
-version = "0.1.4"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "055831a02a4f5aa28fede67f2902014273eb8c21b958ac5ebbd59b71ef30dbc3"
+checksum = "6676ab8513edfd2601a108621103fdb45cac9098305ca25ec93f7023b06b05d9"
 dependencies = [
- "async-trait",
  "futures",
  "test-context-macros",
 ]
 
 [[package]]
 name = "test-context-macros"
-version = "0.1.4"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8901a55b0a7a06ebc4a674dcca925170da8e613fa3b163a1df804ed10afb154d"
+checksum = "78ea17a2dc368aeca6f554343ced1b1e31f76d63683fa8016e5844bd7a5144a1"
 dependencies = [
+ "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.59",
 ]
 
 [[package]]
 name = "thiserror"
-version = "1.0.50"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.50"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
 name = "thread_local"
-version = "1.1.7"
+version = "1.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
 dependencies = [
  "cfg-if",
  "once_cell",
@@ -6784,13 +6309,14 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.30"
+version = "0.3.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
 dependencies = [
  "deranged",
  "itoa",
  "libc",
+ "num-conv",
  "num_threads",
  "powerfmt",
  "serde",
@@ -6806,10 +6332,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.15"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
 dependencies = [
+ "num-conv",
  "time-core",
 ]
 
@@ -6830,19 +6357,19 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.34.0"
+version = "1.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
+checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
 dependencies = [
  "backtrace",
  "bytes",
  "libc",
  "mio",
  "num_cpus",
- "parking_lot 0.12.1",
+ "parking_lot",
  "pin-project-lite",
  "signal-hook-registry",
- "socket2 0.5.5",
+ "socket2 0.5.6",
  "tokio-macros",
  "windows-sys 0.48.0",
 ]
@@ -6865,7 +6392,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -6874,32 +6401,30 @@ version = "0.24.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
 dependencies = [
- "rustls",
+ "rustls 0.21.11",
  "tokio",
 ]
 
 [[package]]
-name = "tokio-stream"
-version = "0.1.14"
+name = "tokio-rustls"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
+checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
 dependencies = [
- "futures-core",
- "pin-project-lite",
+ "rustls 0.22.4",
+ "rustls-pki-types",
  "tokio",
 ]
 
 [[package]]
-name = "tokio-test"
-version = "0.4.3"
+name = "tokio-stream"
+version = "0.1.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e89b3cbabd3ae862100094ae433e1def582cf86451b4e9bf83aa7ac1d8a7d719"
+checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af"
 dependencies = [
- "async-stream",
- "bytes",
  "futures-core",
+ "pin-project-lite",
  "tokio",
- "tokio-stream",
 ]
 
 [[package]]
@@ -6910,11 +6435,11 @@ checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c"
 dependencies = [
  "futures-util",
  "log",
- "rustls",
+ "rustls 0.21.11",
  "tokio",
- "tokio-rustls",
+ "tokio-rustls 0.24.1",
  "tungstenite",
- "webpki-roots",
+ "webpki-roots 0.25.4",
 ]
 
 [[package]]
@@ -6933,53 +6458,15 @@ dependencies = [
 ]
 
 [[package]]
-name = "tokiotest-httpserver"
-version = "0.2.1"
-source = "git+https://github.com/shuttle-hq/tokiotest-httpserver?branch=feat/body#ca413a227397f0d0441b4454581ddd803acabdd7"
-dependencies = [
- "async-trait",
- "futures",
- "hyper 0.14.27",
- "lazy_static",
- "queues",
- "serde_json",
- "test-context",
- "tokio",
- "tokio-test",
- "tower-http 0.2.5",
-]
-
-[[package]]
-name = "toml"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "toml"
-version = "0.7.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257"
-dependencies = [
- "serde",
- "serde_spanned",
- "toml_datetime",
- "toml_edit 0.19.15",
-]
-
-[[package]]
 name = "toml"
-version = "0.8.8"
+version = "0.8.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
+checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.21.0",
+ "toml_edit 0.22.9",
 ]
 
 [[package]]
@@ -6993,39 +6480,26 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.19.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
-dependencies = [
- "indexmap 2.1.0",
- "serde",
- "serde_spanned",
- "toml_datetime",
- "winnow",
-]
-
-[[package]]
-name = "toml_edit"
 version = "0.20.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.6",
  "toml_datetime",
- "winnow",
+ "winnow 0.5.40",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.21.0"
+version = "0.22.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
+checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.6",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow",
+ "winnow 0.6.6",
 ]
 
 [[package]]
@@ -7036,14 +6510,14 @@ checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a"
 dependencies = [
  "async-trait",
  "axum",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
  "futures-core",
  "futures-util",
- "h2 0.3.24",
- "http 0.2.11",
- "http-body 0.4.5",
- "hyper 0.14.27",
+ "h2 0.3.26",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
  "hyper-timeout",
  "percent-encoding",
  "pin-project",
@@ -7065,16 +6539,16 @@ dependencies = [
  "async-stream",
  "async-trait",
  "axum",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
- "h2 0.3.24",
- "http 0.2.11",
- "http-body 0.4.5",
- "hyper 0.14.27",
+ "h2 0.3.26",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
  "hyper-timeout",
  "percent-encoding",
  "pin-project",
- "prost 0.12.3",
+ "prost 0.12.4",
  "tokio",
  "tokio-stream",
  "tower",
@@ -7105,34 +6579,16 @@ dependencies = [
 
 [[package]]
 name = "tower-http"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aba3f3efabf7fb41fae8534fc20a817013dd1c12cb45441efb6c82e6556b4cd8"
-dependencies = [
- "bitflags 1.3.2",
- "bytes",
- "futures-core",
- "futures-util",
- "http 0.2.11",
- "http-body 0.4.5",
- "http-range-header",
- "pin-project-lite",
- "tower-layer",
- "tower-service",
-]
-
-[[package]]
-name = "tower-http"
 version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "bytes",
  "futures-core",
  "futures-util",
- "http 0.2.11",
- "http-body 0.4.5",
+ "http 0.2.12",
+ "http-body 0.4.6",
  "http-range-header",
  "pin-project-lite",
  "tower-layer",
@@ -7152,7 +6608,7 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4f8277387194ad48739f3516a54ef4486927ba53b8d889871f3715fb8f99f5aa"
 dependencies = [
- "http 0.2.11",
+ "http 0.2.12",
  "tower-layer",
  "tower-service",
  "url-escape",
@@ -7184,7 +6640,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -7234,7 +6690,7 @@ dependencies = [
  "tracing-core",
  "tracing-log",
  "tracing-subscriber",
- "web-time",
+ "web-time 0.2.4",
 ]
 
 [[package]]
@@ -7277,7 +6733,7 @@ dependencies = [
  "async-trait",
  "cfg-if",
  "data-encoding",
- "enum-as-inner 0.4.0",
+ "enum-as-inner",
  "futures-channel",
  "futures-io",
  "futures-util",
@@ -7294,31 +6750,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "trust-dns-proto"
-version = "0.23.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3119112651c157f4488931a01e586aa459736e9d6046d3bd9105ffb69352d374"
-dependencies = [
- "async-trait",
- "cfg-if",
- "data-encoding",
- "enum-as-inner 0.6.0",
- "futures-channel",
- "futures-io",
- "futures-util",
- "idna 0.4.0",
- "ipnet",
- "once_cell",
- "rand 0.8.5",
- "smallvec",
- "thiserror",
- "tinyvec",
- "tokio",
- "tracing",
- "url",
-]
-
-[[package]]
 name = "trust-dns-resolver"
 version = "0.21.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7330,33 +6761,12 @@ dependencies = [
  "lazy_static",
  "log",
  "lru-cache",
- "parking_lot 0.12.1",
+ "parking_lot",
  "resolv-conf",
  "smallvec",
  "thiserror",
  "tokio",
- "trust-dns-proto 0.21.2",
-]
-
-[[package]]
-name = "trust-dns-resolver"
-version = "0.23.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10a3e6c3aff1718b3c73e395d1f35202ba2ffa847c6a62eea0db8fb4cfe30be6"
-dependencies = [
- "cfg-if",
- "futures-util",
- "ipconfig",
- "lru-cache",
- "once_cell",
- "parking_lot 0.12.1",
- "rand 0.8.5",
- "resolv-conf",
- "smallvec",
- "thiserror",
- "tokio",
- "tracing",
- "trust-dns-proto 0.23.2",
+ "trust-dns-proto",
 ]
 
 [[package]]
@@ -7367,17 +6777,17 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
 
 [[package]]
 name = "trybuild"
-version = "1.0.85"
+version = "1.0.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "196a58260a906cedb9bf6d8034b6379d0c11f552416960452f267402ceeddff1"
+checksum = "8ad7eb6319ebadebca3dacf1f85a93bc54b73dd81b9036795f73de7ddfe27d5a"
 dependencies = [
- "basic-toml",
  "glob",
  "once_cell",
  "serde",
  "serde_derive",
  "serde_json",
  "termcolor",
+ "toml",
 ]
 
 [[package]]
@@ -7398,11 +6808,11 @@ dependencies = [
  "byteorder",
  "bytes",
  "data-encoding",
- "http 0.2.11",
+ "http 0.2.12",
  "httparse",
  "log",
  "rand 0.8.5",
- "rustls",
+ "rustls 0.21.11",
  "sha1",
  "thiserror",
  "url",
@@ -7428,12 +6838,14 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "ulid"
-version = "1.1.0"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e37c4b6cbcc59a8dcd09a6429fbc7890286bcbb79215cea7b38a3c4c0921d93"
+checksum = "34778c17965aa2a08913b57e1f34db9b4a63f5de31768b55bf20d2795f921259"
 dependencies = [
+ "getrandom 0.2.14",
  "rand 0.8.5",
  "serde",
+ "web-time 1.1.0",
 ]
 
 [[package]]
@@ -7453,9 +6865,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.14"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-bom"
@@ -7471,18 +6883,18 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.10.1"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
 
 [[package]]
 name = "unicode-width"
@@ -7555,11 +6967,11 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.6.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
 dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.14",
  "serde",
 ]
 
@@ -7604,9 +7016,9 @@ checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690"
 
 [[package]]
 name = "walkdir"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -7634,54 +7046,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
-name = "wasi-cap-std-sync"
-version = "13.0.1"
+name = "wasite"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77c4db6155e71cfae4ed732d87c2583faf4bbdcb77372697eb77d636f46108ba"
-dependencies = [
- "anyhow",
- "async-trait",
- "cap-fs-ext",
- "cap-rand",
- "cap-std",
- "cap-time-ext",
- "fs-set-times",
- "io-extras",
- "io-lifetimes",
- "is-terminal",
- "once_cell",
- "rustix",
- "system-interface",
- "tracing",
- "wasi-common",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "wasi-common"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf3f291b2a567f266ac488715f1742f62b2ca633524708c62ead9c0f71b7d72c"
-dependencies = [
- "anyhow",
- "bitflags 2.4.1",
- "cap-rand",
- "cap-std",
- "io-extras",
- "log",
- "rustix",
- "thiserror",
- "tracing",
- "wasmtime",
- "wiggle",
- "windows-sys 0.48.0",
-]
+checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -7689,24 +7063,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.39"
+version = "0.4.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -7716,9 +7090,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -7726,462 +7100,38 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.89"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
-
-[[package]]
-name = "wasm-encoder"
-version = "0.32.0"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ba64e81215916eaeb48fee292f29401d69235d62d8b8fd92a7b2844ec5ae5f7"
-dependencies = [
- "leb128",
-]
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
-name = "wasm-encoder"
-version = "0.38.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ad2b51884de9c7f4fe2fd1043fccb8dcad4b1e29558146ee57a144d15779f3f"
-dependencies = [
- "leb128",
-]
-
-[[package]]
-name = "wasm-timer"
-version = "0.2.5"
+name = "web-sys"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
 dependencies = [
- "futures",
  "js-sys",
- "parking_lot 0.11.2",
- "pin-utils",
  "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
 ]
 
 [[package]]
-name = "wasmparser"
-version = "0.112.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e986b010f47fcce49cf8ea5d5f9e5d2737832f12b53ae8ae785bbe895d0877bf"
-dependencies = [
- "indexmap 2.1.0",
- "semver 1.0.20",
-]
-
-[[package]]
-name = "wasmparser"
-version = "0.118.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95ee9723b928e735d53000dec9eae7b07a60e490c85ab54abb66659fc61bfcd9"
-dependencies = [
- "indexmap 2.1.0",
- "semver 1.0.20",
-]
-
-[[package]]
-name = "wasmprinter"
-version = "0.2.75"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d027eb8294904fc715ac0870cebe6b0271e96b90605ee21511e7565c4ce568c"
-dependencies = [
- "anyhow",
- "wasmparser 0.118.1",
-]
-
-[[package]]
-name = "wasmtime"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0263693caa1486bd4d26a5f18511948a706c9290689386b81b851ce088063ce"
-dependencies = [
- "anyhow",
- "async-trait",
- "bincode",
- "bumpalo",
- "cfg-if",
- "encoding_rs",
- "fxprof-processed-profile",
- "indexmap 2.1.0",
- "libc",
- "log",
- "object",
- "once_cell",
- "paste",
- "psm",
- "rayon",
- "serde",
- "serde_derive",
- "serde_json",
- "target-lexicon",
- "wasm-encoder 0.32.0",
- "wasmparser 0.112.0",
- "wasmtime-cache",
- "wasmtime-component-macro",
- "wasmtime-component-util",
- "wasmtime-cranelift",
- "wasmtime-environ",
- "wasmtime-fiber",
- "wasmtime-jit",
- "wasmtime-runtime",
- "wasmtime-winch",
- "wat",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "wasmtime-asm-macros"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4711e5969236ecfbe70c807804ff9ffb5206c1dbb5c55c5e8200d9f7e8e76adf"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "wasmtime-cache"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b79f9f79188e5a26b6911b79d3171c06699d9a17ae07f6a265c51635b8d80c2"
-dependencies = [
- "anyhow",
- "base64 0.21.5",
- "bincode",
- "directories-next",
- "log",
- "rustix",
- "serde",
- "serde_derive",
- "sha2",
- "toml 0.5.11",
- "windows-sys 0.48.0",
- "zstd",
-]
-
-[[package]]
-name = "wasmtime-component-macro"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed724d0f41c21bcf8754651a59d0423c530069ddca4cf3822768489ad313a812"
-dependencies = [
- "anyhow",
- "proc-macro2",
- "quote",
- "syn 2.0.39",
- "wasmtime-component-util",
- "wasmtime-wit-bindgen",
- "wit-parser",
-]
-
-[[package]]
-name = "wasmtime-component-util"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e7d69464b94bd312a27d93d0b482cd74bedf01f030199ef0740d6300ebca1d3"
-
-[[package]]
-name = "wasmtime-cranelift"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e63f53c61ba05eb815f905c1738ad82c95333dd42ef5a8cc2aa3d7dfb2b08d7"
-dependencies = [
- "anyhow",
- "cfg-if",
- "cranelift-codegen",
- "cranelift-control",
- "cranelift-entity",
- "cranelift-frontend",
- "cranelift-native",
- "cranelift-wasm",
- "gimli",
- "log",
- "object",
- "target-lexicon",
- "thiserror",
- "wasmparser 0.112.0",
- "wasmtime-cranelift-shared",
- "wasmtime-environ",
- "wasmtime-versioned-export-macros",
-]
-
-[[package]]
-name = "wasmtime-cranelift-shared"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f6b197d68612f7dc3a17aa9f9587533715ecb8b4755609ce9baf7fb92b74ddc"
-dependencies = [
- "anyhow",
- "cranelift-codegen",
- "cranelift-control",
- "cranelift-native",
- "gimli",
- "object",
- "target-lexicon",
- "wasmtime-environ",
-]
-
-[[package]]
-name = "wasmtime-environ"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18e2558c8b04fd27764d8601d46b8dc39555b79720a41e626bce210a80758932"
-dependencies = [
- "anyhow",
- "cranelift-entity",
- "gimli",
- "indexmap 2.1.0",
- "log",
- "object",
- "serde",
- "serde_derive",
- "target-lexicon",
- "thiserror",
- "wasm-encoder 0.32.0",
- "wasmparser 0.112.0",
- "wasmprinter",
- "wasmtime-component-util",
- "wasmtime-types",
-]
-
-[[package]]
-name = "wasmtime-fiber"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a615a2cf64a49c0dc659c7d850c6cd377b975e0abfdcf0888b282d274a82e730"
-dependencies = [
- "cc",
- "cfg-if",
- "rustix",
- "wasmtime-asm-macros",
- "wasmtime-versioned-export-macros",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "wasmtime-jit"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd775514b8034b85b0323bfdc60abb1c28d27dbf6e22aad083ed57dac95cf72e"
-dependencies = [
- "addr2line",
- "anyhow",
- "bincode",
- "cfg-if",
- "cpp_demangle",
- "gimli",
- "ittapi",
- "log",
- "object",
- "rustc-demangle",
- "rustix",
- "serde",
- "serde_derive",
- "target-lexicon",
- "wasmtime-environ",
- "wasmtime-jit-debug",
- "wasmtime-jit-icache-coherence",
- "wasmtime-runtime",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "wasmtime-jit-debug"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c054e27c6ce2a6191edabe89e646da013044dd5369e1d203c89f977f9bd32937"
-dependencies = [
- "object",
- "once_cell",
- "rustix",
- "wasmtime-versioned-export-macros",
-]
-
-[[package]]
-name = "wasmtime-jit-icache-coherence"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f323977cddf4a262d1b856366b665c5b4d01793c57b79fb42505b9fd9e61e5b"
-dependencies = [
- "cfg-if",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "wasmtime-runtime"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29e26461bba043f73cb4183f4ce0d606c0eaac112475867b11e5ea36fe1cac8e"
-dependencies = [
- "anyhow",
- "cc",
- "cfg-if",
- "encoding_rs",
- "indexmap 2.1.0",
- "libc",
- "log",
- "mach",
- "memfd",
- "memoffset 0.9.0",
- "paste",
- "rand 0.8.5",
- "rustix",
- "sptr",
- "wasm-encoder 0.32.0",
- "wasmtime-asm-macros",
- "wasmtime-environ",
- "wasmtime-fiber",
- "wasmtime-jit-debug",
- "wasmtime-versioned-export-macros",
- "wasmtime-wmemcheck",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "wasmtime-types"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fd7e9b29fee64eea5058cb5e7cb3480b52c2f1312d431d16ea8617ceebeb421"
-dependencies = [
- "cranelift-entity",
- "serde",
- "serde_derive",
- "thiserror",
- "wasmparser 0.112.0",
-]
-
-[[package]]
-name = "wasmtime-versioned-export-macros"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6362c557c36d8ad4aaab735f14ed9e4f78d6b40ec85a02a88fd859af87682e52"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.39",
-]
-
-[[package]]
-name = "wasmtime-wasi"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52c9e79f73320d96cd7644b021502dffee09dd92300b073f3541ae44e9ae377c"
-dependencies = [
- "anyhow",
- "async-trait",
- "bitflags 2.4.1",
- "bytes",
- "cap-fs-ext",
- "cap-net-ext",
- "cap-rand",
- "cap-std",
- "cap-time-ext",
- "fs-set-times",
- "futures",
- "io-extras",
- "io-lifetimes",
- "is-terminal",
- "libc",
- "once_cell",
- "rustix",
- "system-interface",
- "thiserror",
- "tokio",
- "tracing",
- "wasi-cap-std-sync",
- "wasi-common",
- "wasmtime",
- "wiggle",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "wasmtime-winch"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa5fc7212424c04c01a20bfa66c4c518e8749dde6546f5e05815dcacbec80723"
-dependencies = [
- "anyhow",
- "cranelift-codegen",
- "gimli",
- "object",
- "target-lexicon",
- "wasmparser 0.112.0",
- "wasmtime-cranelift-shared",
- "wasmtime-environ",
- "winch-codegen",
-]
-
-[[package]]
-name = "wasmtime-wit-bindgen"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcc03bd58f77a68dc6a0b2ba2f8e64b1f902b50389d21bbcc690ef2f3bb87198"
-dependencies = [
- "anyhow",
- "heck",
- "indexmap 2.1.0",
- "wit-parser",
-]
-
-[[package]]
-name = "wasmtime-wmemcheck"
-version = "13.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e485bf54eba675ca615f8f55788d3a8cd44e7bd09b8b4011edc22c2c41d859e"
-
-[[package]]
-name = "wast"
-version = "35.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ef140f1b49946586078353a453a1d28ba90adfc54dde75710bc1931de204d68"
-dependencies = [
- "leb128",
-]
-
-[[package]]
-name = "wast"
-version = "69.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1ee37317321afde358e4d7593745942c48d6d17e0e6e943704de9bbee121e7a"
-dependencies = [
- "leb128",
- "memchr",
- "unicode-width",
- "wasm-encoder 0.38.1",
-]
-
-[[package]]
-name = "wat"
-version = "1.0.82"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aeb338ee8dee4d4cd05e6426683f21c5087dc7cfc8903e839ccf48d43332da3c"
-dependencies = [
- "wast 69.0.1",
-]
-
-[[package]]
-name = "web-sys"
-version = "0.3.66"
+name = "web-time"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
+checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -8189,9 +7139,9 @@ dependencies = [
 
 [[package]]
 name = "web-time"
-version = "0.2.3"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57099a701fb3a8043f993e8228dc24229c7b942e2b009a1b962e54489ba1d3bf"
+checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -8199,9 +7149,9 @@ dependencies = [
 
 [[package]]
 name = "webbrowser"
-version = "0.8.12"
+version = "0.8.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71"
+checksum = "db67ae75a9405634f5882791678772c94ff5f16a66535aae186e26aa0841fc8b"
 dependencies = [
  "core-foundation",
  "home",
@@ -8216,63 +7166,34 @@ dependencies = [
 
 [[package]]
 name = "webpki-roots"
-version = "0.25.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
-
-[[package]]
-name = "whoami"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50"
-
-[[package]]
-name = "widestring"
-version = "1.0.2"
+version = "0.25.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8"
+checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
 
 [[package]]
-name = "wiggle"
-version = "13.0.1"
+name = "webpki-roots"
+version = "0.26.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e81ddbdc400b38d04241d740d0406ef343bd242c460f252fe59f29ad964ad24c"
+checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009"
 dependencies = [
- "anyhow",
- "async-trait",
- "bitflags 2.4.1",
- "thiserror",
- "tracing",
- "wasmtime",
- "wiggle-macro",
+ "rustls-pki-types",
 ]
 
 [[package]]
-name = "wiggle-generate"
-version = "13.0.1"
+name = "whoami"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c993123d6db1a1908ef8352aabdf2e681a3dcdedc3656beb747e4db16d3cf08"
+checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9"
 dependencies = [
- "anyhow",
- "heck",
- "proc-macro2",
- "quote",
- "shellexpand",
- "syn 2.0.39",
- "witx",
+ "redox_syscall",
+ "wasite",
 ]
 
 [[package]]
-name = "wiggle-macro"
-version = "13.0.1"
+name = "widestring"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "476e3e09bc68e82624b70a322265515523754cb9e05fcacceabd216e276bc2ed"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.39",
- "wiggle-generate",
-]
+checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311"
 
 [[package]]
 name = "winapi"
@@ -8306,37 +7227,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
-name = "winch-codegen"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9b01ca6722f7421c9cdbe4c9b62342ce864d0a9e8736d56dac717a86b1a65ae"
-dependencies = [
- "anyhow",
- "cranelift-codegen",
- "gimli",
- "regalloc2",
- "smallvec",
- "target-lexicon",
- "wasmparser 0.112.0",
- "wasmtime-environ",
-]
-
-[[package]]
-name = "windows"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
-dependencies = [
- "windows-targets 0.48.5",
-]
-
-[[package]]
 name = "windows-core"
-version = "0.51.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.48.5",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -8363,7 +7259,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -8398,17 +7294,18 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
+ "windows_aarch64_gnullvm 0.52.5",
+ "windows_aarch64_msvc 0.52.5",
+ "windows_i686_gnu 0.52.5",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.52.5",
+ "windows_x86_64_gnu 0.52.5",
+ "windows_x86_64_gnullvm 0.52.5",
+ "windows_x86_64_msvc 0.52.5",
 ]
 
 [[package]]
@@ -8425,9 +7322,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -8443,9 +7340,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -8461,9 +7358,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.0"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -8479,9 +7382,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -8497,9 +7400,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -8515,9 +7418,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -8533,15 +7436,24 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.0"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
+
+[[package]]
+name = "winnow"
+version = "0.5.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
+dependencies = [
+ "memchr",
+]
 
 [[package]]
 name = "winnow"
-version = "0.5.25"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e87b8dfbe3baffbe687eef2e164e32286eff31a5ee16463ce03d991643ec94"
+checksum = "f0c976aaaa0e1f90dbb21e9587cdaf1d9679a1cde8875c0d6bd83ab96a208352"
 dependencies = [
  "memchr",
 ]
@@ -8557,29 +7469,29 @@ dependencies = [
 ]
 
 [[package]]
-name = "winx"
-version = "0.36.3"
+name = "winreg"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9643b83820c0cd246ecabe5fa454dd04ba4fa67996369466d0747472d337346"
+checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
 dependencies = [
- "bitflags 2.4.1",
- "windows-sys 0.52.0",
+ "cfg-if",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "wiremock"
-version = "0.6.0-rc.3"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94819bffc61c498ea8219c8ba084523abd5465ccb0c11be4d9ebc9fa1fbc3617"
+checksum = "ec874e1eef0df2dcac546057fe5e29186f09c378181cd7b635b4b7bcc98e9d81"
 dependencies = [
  "assert-json-diff",
  "async-trait",
- "base64 0.21.5",
+ "base64 0.21.7",
  "deadpool",
  "futures",
- "http 1.0.0",
+ "http 1.1.0",
  "http-body-util",
- "hyper 1.1.0",
+ "hyper 1.3.1",
  "hyper-util",
  "log",
  "once_cell",
@@ -8591,36 +7503,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "wit-parser"
-version = "0.11.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a39edca9abb16309def3843af73b58d47d243fe33a9ceee572446bcc57556b9a"
-dependencies = [
- "anyhow",
- "id-arena",
- "indexmap 2.1.0",
- "log",
- "pulldown-cmark",
- "semver 1.0.20",
- "serde",
- "serde_json",
- "unicode-xid",
- "url",
-]
-
-[[package]]
-name = "witx"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e366f27a5cabcddb2706a78296a40b8fcc451e1a6aba2fc1d94b4a01bdaaef4b"
-dependencies = [
- "anyhow",
- "log",
- "thiserror",
- "wast 35.0.2",
-]
-
-[[package]]
 name = "wyz"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8648,11 +7530,13 @@ dependencies = [
 
 [[package]]
 name = "xattr"
-version = "1.0.1"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
 dependencies = [
  "libc",
+ "linux-raw-sys",
+ "rustix",
 ]
 
 [[package]]
@@ -8678,22 +7562,22 @@ dependencies = [
 
 [[package]]
 name = "zerocopy"
-version = "0.7.31"
+version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c4061bedbb353041c12f413700357bec76df2c7e2ca8e4df8bac24c6bf68e3d"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
 dependencies = [
  "zerocopy-derive",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.31"
+version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3c129550b3e6de3fd0ba67ba5c81818f9805e58b8d7fee80a3a59d2c9fc601a"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -8703,6 +7587,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
 
 [[package]]
+name = "zip"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
+dependencies = [
+ "aes",
+ "byteorder",
+ "bzip2",
+ "constant_time_eq",
+ "crc32fast",
+ "crossbeam-utils",
+ "flate2",
+ "hmac",
+ "pbkdf2",
+ "sha1",
+ "time",
+ "zstd",
+]
+
+[[package]]
 name = "zstd"
 version = "0.11.2+zstd.1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8723,9 +7627,9 @@ dependencies = [
 
 [[package]]
 name = "zstd-sys"
-version = "2.0.9+zstd.1.5.5"
+version = "2.0.10+zstd.1.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
+checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa"
 dependencies = [
  "cc",
  "pkg-config",
diff --git a/pkgs/development/tools/rust/cargo-shuttle/default.nix b/pkgs/development/tools/rust/cargo-shuttle/default.nix
index fcc7ff4756f95..4c6a25429ec49 100644
--- a/pkgs/development/tools/rust/cargo-shuttle/default.nix
+++ b/pkgs/development/tools/rust/cargo-shuttle/default.nix
@@ -10,13 +10,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-shuttle";
-  version = "0.39.0";
+  version = "0.45.0";
 
   src = fetchFromGitHub {
     owner = "shuttle-hq";
     repo = "shuttle";
     rev = "v${version}";
-    hash = "sha256-U6C6pUl6Re3fYt5KlBItpErboYXctsotunsUpWmZxiY=";
+    hash = "sha256-bjGyLfeo11Y55WqPwcUxnNkexozlxC61/rSa65gBGZ4=";
   };
 
   cargoLock = {
@@ -24,7 +24,8 @@ rustPlatform.buildRustPackage rec {
     outputHashes = {
       "async-posthog-0.2.3" = "sha256-V0f9+UKZkqh80p7UjINEbAW9y8cKBmJTRjAJZV3no1M=";
       "hyper-reverse-proxy-0.5.2-dev" = "sha256-R1ZXGgWvwHWRHmKX823QLqM6ZJW+tzWUXigKkAyI5OE=";
-      "tokiotest-httpserver-0.2.1" = "sha256-IPUaglIDwCUoczCCnX+R1IBqtc0s8b8toKEL8zN3/i8=";
+      "permit-client-rs-2.0.0" = "sha256-MxsgqPbvWDYDOb3oGuD1I6d3cdcGAhfoWsI7cwfhrb4=";
+      "permit-pdp-client-rs-0.2.0" = "sha256-F9wSvo3WzoRXjZb+We0Bvcwx3rRSG1QxXPsvrmtIN38=";
     };
   };
 
@@ -48,7 +49,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A cargo command for the shuttle platform";
+    description = "Cargo command for the shuttle platform";
     mainProgram = "cargo-shuttle";
     homepage = "https://shuttle.rs";
     changelog = "https://github.com/shuttle-hq/shuttle/releases/tag/${src.rev}";
diff --git a/pkgs/development/tools/rust/cargo-sort/default.nix b/pkgs/development/tools/rust/cargo-sort/default.nix
index ab85a75d916ec..cb8efeef12308 100644
--- a/pkgs/development/tools/rust/cargo-sort/default.nix
+++ b/pkgs/development/tools/rust/cargo-sort/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-JON6cE1ZHeI+0vU9AJp0e1TIbiH3AWjHyn0jd9PNqQU=";
 
   meta = with lib; {
-    description = "A tool to check that your Cargo.toml dependencies are sorted alphabetically";
+    description = "Tool to check that your Cargo.toml dependencies are sorted alphabetically";
     mainProgram = "cargo-sort";
     homepage = "https://github.com/devinr528/cargo-sort";
     changelog = "https://github.com/devinr528/cargo-sort/blob/v${version}/changelog.md";
diff --git a/pkgs/development/tools/rust/cargo-sweep/default.nix b/pkgs/development/tools/rust/cargo-sweep/default.nix
index 0fc6a01be0996..08e0416a9aef7 100644
--- a/pkgs/development/tools/rust/cargo-sweep/default.nix
+++ b/pkgs/development/tools/rust/cargo-sweep/default.nix
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A Cargo subcommand for cleaning up unused build files generated by Cargo";
+    description = "Cargo subcommand for cleaning up unused build files generated by Cargo";
     mainProgram = "cargo-sweep";
     homepage = "https://github.com/holmgr/cargo-sweep";
     license = licenses.mit;
diff --git a/pkgs/development/tools/rust/cargo-sync-readme/default.nix b/pkgs/development/tools/rust/cargo-sync-readme/default.nix
index c4205fb1a660f..c790f097a2a95 100644
--- a/pkgs/development/tools/rust/cargo-sync-readme/default.nix
+++ b/pkgs/development/tools/rust/cargo-sync-readme/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-DsB2C2ELuvuVSvxG/xztmnY2qfX8+Y7udbXlpRQoL/c=";
 
   meta = with lib; {
-    description = "A cargo plugin that generates a Markdown section in your README based on your Rust documentation";
+    description = "Cargo plugin that generates a Markdown section in your README based on your Rust documentation";
     mainProgram = "cargo-sync-readme";
     homepage = "https://github.com/phaazon/cargo-sync-readme";
     changelog = "https://github.com/phaazon/cargo-sync-readme/blob/${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/rust/cargo-tally/default.nix b/pkgs/development/tools/rust/cargo-tally/default.nix
index a1e2ffa295eea..7b1613cfd7268 100644
--- a/pkgs/development/tools/rust/cargo-tally/default.nix
+++ b/pkgs/development/tools/rust/cargo-tally/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tally";
-  version = "1.0.44";
+  version = "1.0.46";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-CLMMrzEvw0QrlDPUfM67thzSXZ6hOfNw7mUVNdMcRgA=";
+    hash = "sha256-wQo9HDVb7m+FdrMnNVAESEK3k3wrsZYvVpIMu2YNhS8=";
   };
 
-  cargoHash = "sha256-XMuApConypaF6PNylDx9Dg2e1VvPy8m///Pnk/S14g8=";
+  cargoHash = "sha256-tj9bbT7UlsVbEibtomB7rFK/V6Jdo5K0uoeuXw1yq+o=";
 
   buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
     DiskArbitration
diff --git a/pkgs/development/tools/rust/cargo-tauri/default.nix b/pkgs/development/tools/rust/cargo-tauri/default.nix
index a7737222d3480..db1a2821de963 100644
--- a/pkgs/development/tools/rust/cargo-tauri/default.nix
+++ b/pkgs/development/tools/rust/cargo-tauri/default.nix
@@ -17,20 +17,20 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "tauri";
-  version = "1.6.2";
+  version = "1.6.8";
 
   src = fetchFromGitHub {
     owner = "tauri-apps";
     repo = pname;
     rev = "tauri-v${version}";
-    hash = "sha256-sqBZVCVJkgqCK5JcNcJ6kKxL26XGxOA1uDlOOt/+iDo=";
+    hash = "sha256-6GUgxSfuy2v38lYVdjsN0vd63/Aci0ERgG2kF2E2AFA=";
   };
 
   # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at
   # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202
   sourceRoot = "${src.name}/tooling/cli";
 
-  cargoHash = "sha256-g1uDF7lL9dmZY5J8uNDAsA8dG5IVrV7MumN1w+fk1/8=";
+  cargoHash = "sha256-HC+6AoBx51ahK6QA1Ug7jaKftkE5W3FS629uQ0yrV3Q=";
 
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isLinux [ glibc libsoup cairo gtk3 webkitgtk ]
     ++ lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ];
diff --git a/pkgs/development/tools/rust/cargo-temp/default.nix b/pkgs/development/tools/rust/cargo-temp/default.nix
index 7c4a84401095d..a00d4fef2275c 100644
--- a/pkgs/development/tools/rust/cargo-temp/default.nix
+++ b/pkgs/development/tools/rust/cargo-temp/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-temp";
-  version = "0.2.20";
+  version = "0.2.21";
 
   src = fetchFromGitHub {
     owner = "yozhgoor";
     repo = "cargo-temp";
     rev = "v${version}";
-    hash = "sha256-zyzzYftoMNPHvCtGYsxEiiWXd3vjWTfmiIpEJ86ac9c=";
+    hash = "sha256-8VkhEpggSoE0DIdZk8Y1fCYAwN6CZd2nK6auWRIbS6w=";
   };
 
-  cargoHash = "sha256-qkYvgKTT4wdYBRTwtDiHYCEBtbNjr6CWQB2y/kL0f8Y=";
+  cargoHash = "sha256-fYpG/Bl3hsbkWWTkbX59UqD/HuL9OpmcZc6hPAmnNtM=";
 
   meta = with lib; {
-    description = "A CLI tool that allow you to create a temporary new Rust project using cargo with already installed dependencies";
+    description = "CLI tool that allow you to create a temporary new Rust project using cargo with already installed dependencies";
     mainProgram = "cargo-temp";
     homepage = "https://github.com/yozhgoor/cargo-temp";
     changelog = "https://github.com/yozhgoor/cargo-temp/releases/tag/${src.rev}";
diff --git a/pkgs/development/tools/rust/cargo-toml-lint/default.nix b/pkgs/development/tools/rust/cargo-toml-lint/default.nix
index 53595043342bc..a32f6e4bc6956 100644
--- a/pkgs/development/tools/rust/cargo-toml-lint/default.nix
+++ b/pkgs/development/tools/rust/cargo-toml-lint/default.nix
@@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-ujdekIucqes2Wya4jwTMLstb8JMptbAlqYhgMxfp2gg=";
 
   meta = with lib; {
-    description = "A simple linter for Cargo.toml manifests";
+    description = "Simple linter for Cargo.toml manifests";
     mainProgram = "cargo-toml-lint";
     homepage = "https://github.com/fuellabs/cargo-toml-lint";
     changelog = "https://github.com/fuellabs/cargo-toml-lint/releases/tag/v${version}";
diff --git a/pkgs/development/tools/rust/cargo-ui/default.nix b/pkgs/development/tools/rust/cargo-ui/default.nix
index e58c34a03f4f7..01578e497deb2 100644
--- a/pkgs/development/tools/rust/cargo-ui/default.nix
+++ b/pkgs/development/tools/rust/cargo-ui/default.nix
@@ -53,7 +53,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A GUI for Cargo";
+    description = "GUI for Cargo";
     mainProgram = "cargo-ui";
     homepage = "https://github.com/slint-ui/cargo-ui";
     changelog = "https://github.com/slint-ui/cargo-ui/blob/v${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/rust/cargo-unused-features/default.nix b/pkgs/development/tools/rust/cargo-unused-features/default.nix
index 70518087e0864..32fae29d903aa 100644
--- a/pkgs/development/tools/rust/cargo-unused-features/default.nix
+++ b/pkgs/development/tools/rust/cargo-unused-features/default.nix
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A tool to find potential unused enabled feature flags and prune them";
+    description = "Tool to find potential unused enabled feature flags and prune them";
     homepage = "https://github.com/timonpost/cargo-unused-features";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda matthiasbeyer ];
diff --git a/pkgs/development/tools/rust/cargo-update/default.nix b/pkgs/development/tools/rust/cargo-update/default.nix
index c27c3e0e7572b..e24fe156332f5 100644
--- a/pkgs/development/tools/rust/cargo-update/default.nix
+++ b/pkgs/development/tools/rust/cargo-update/default.nix
@@ -60,7 +60,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A cargo subcommand for checking and applying updates to installed executables";
+    description = "Cargo subcommand for checking and applying updates to installed executables";
     homepage = "https://github.com/nabijaczleweli/cargo-update";
     changelog = "https://github.com/nabijaczleweli/cargo-update/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/rust/cargo-vet/default.nix b/pkgs/development/tools/rust/cargo-vet/default.nix
index a27e2f375ebd9..0d71a77baabe5 100644
--- a/pkgs/development/tools/rust/cargo-vet/default.nix
+++ b/pkgs/development/tools/rust/cargo-vet/default.nix
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A tool to help projects ensure that third-party Rust dependencies have been audited by a trusted source";
+    description = "Tool to help projects ensure that third-party Rust dependencies have been audited by a trusted source";
     mainProgram = "cargo-vet";
     homepage = "https://mozilla.github.io/cargo-vet";
     license = with licenses; [ asl20 /* or */ mit ];
diff --git a/pkgs/development/tools/rust/cargo-wasi/default.nix b/pkgs/development/tools/rust/cargo-wasi/default.nix
deleted file mode 100644
index bead01fed4ed4..0000000000000
--- a/pkgs/development/tools/rust/cargo-wasi/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib
-, rustPlatform
-, fetchCrate
-, pkg-config
-, stdenv
-, openssl
-, Security
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "cargo-wasi";
-  version = "0.1.28";
-
-  src = fetchCrate {
-    inherit version;
-    pname = "cargo-wasi-src";
-    sha256 = "sha256-fmQ23BtcBUPNcgZgvNq85iqdY6WRUhqwAp4aIobqMIw=";
-  };
-
-  cargoHash = "sha256-yXtxznUp2gECq2CvRByiFzbTjYtWvTheDjGoynJWb+o=";
-
-  nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = lib.optionals stdenv.isLinux [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ Security ];
-
-  # Checks need to be disabled here because the current test suite makes assumptions
-  # about the surrounding environment that aren't Nix friendly. See these lines for specifics:
-  # https://github.com/bytecodealliance/cargo-wasi/blob/0.1.28/tests/tests/support.rs#L13-L18
-  doCheck = false;
-
-  meta = with lib; {
-    description = "A lightweight Cargo subcommand to build code for the wasm32-wasi target";
-    mainProgram = "cargo-wasi";
-    homepage = "https://bytecodealliance.github.io/cargo-wasi";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ lucperkins ];
-  };
-}
diff --git a/pkgs/development/tools/rust/cargo-watch/default.nix b/pkgs/development/tools/rust/cargo-watch/default.nix
index ff9d72db58d91..69c04b520b305 100644
--- a/pkgs/development/tools/rust/cargo-watch/default.nix
+++ b/pkgs/development/tools/rust/cargo-watch/default.nix
@@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A Cargo subcommand for watching over Cargo project's source";
+    description = "Cargo subcommand for watching over Cargo project's source";
     mainProgram = "cargo-watch";
     homepage = "https://github.com/watchexec/cargo-watch";
     license = licenses.cc0;
diff --git a/pkgs/development/tools/rust/cargo-web/default.nix b/pkgs/development/tools/rust/cargo-web/default.nix
index 462e98d6eaa60..d1dd2cc527faa 100644
--- a/pkgs/development/tools/rust/cargo-web/default.nix
+++ b/pkgs/development/tools/rust/cargo-web/default.nix
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Security ];
 
   meta = with lib; {
-    description = "A Cargo subcommand for the client-side Web";
+    description = "Cargo subcommand for the client-side Web";
     mainProgram = "cargo-web";
     homepage = "https://github.com/koute/cargo-web";
     license = with licenses; [ asl20 /* or */ mit ];
diff --git a/pkgs/development/tools/rust/cargo-whatfeatures/default.nix b/pkgs/development/tools/rust/cargo-whatfeatures/default.nix
index e040971df8300..62bb3dafd4963 100644
--- a/pkgs/development/tools/rust/cargo-whatfeatures/default.nix
+++ b/pkgs/development/tools/rust/cargo-whatfeatures/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-whatfeatures";
-  version = "0.9.11";
+  version = "0.9.12";
 
   src = fetchFromGitHub {
     owner = "museun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lCS0EDSNnCii98OBZlPwwq7LBociN7zo8FZJvxt9X4w=";
+    sha256 = "sha256-62eEHxX+Gsz+Bif1ev0nTRituRkfqlGYZfa9cFkO26M=";
   };
 
-  cargoHash = "sha256-SNhulId9naSBO7UxiiX7q0RIVJngflAO2UfpxvKDIF4=";
+  cargoHash = "sha256-bk/mbQu4lzhA9ct7cws70MYuj8oNEBgC+0EjHlaN1lc=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
     ++ lib.optionals stdenv.isDarwin [ Security ];
 
   meta = with lib; {
-    description = "A simple cargo plugin to get a list of features for a specific crate";
+    description = "Simple cargo plugin to get a list of features for a specific crate";
     mainProgram = "cargo-whatfeatures";
     homepage = "https://github.com/museun/cargo-whatfeatures";
     license = with licenses; [ mit asl20 ];
diff --git a/pkgs/development/tools/rust/cargo-workspaces/default.nix b/pkgs/development/tools/rust/cargo-workspaces/default.nix
index b087ef552ca92..1bed092b1c423 100644
--- a/pkgs/development/tools/rust/cargo-workspaces/default.nix
+++ b/pkgs/development/tools/rust/cargo-workspaces/default.nix
@@ -11,14 +11,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-workspaces";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-1YFTBzFr11FUfwgdGJgyF1lWvrfQ6ZPIkYAG7vySfFA=";
+    hash = "sha256-fSvs3dr8dO9n9WCiO1UFr29cp1pvKxL9faOvYnLG+wk=";
   };
 
-  cargoHash = "sha256-wL1DKZ1QhBKB4Gy2rbwe4y/hR4A/wiiVqGAIcM+Om8E=";
+  cargoHash = "sha256-uB3iN7xt0+qEpRelZQ8uurj6Ve9t9sVTCuH6N4+tDh4=";
 
   nativeBuildInputs = [
     pkg-config
@@ -38,7 +38,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A tool for managing cargo workspaces and their crates, inspired by lerna";
+    description = "Tool for managing cargo workspaces and their crates, inspired by lerna";
     longDescription = ''
       A tool that optimizes the workflow around cargo workspaces with
       git and cargo by providing utilities to version, publish, execute
diff --git a/pkgs/development/tools/rust/cargo-zigbuild/default.nix b/pkgs/development/tools/rust/cargo-zigbuild/default.nix
index 4e48a4d74ca09..4ffd90ca1f830 100644
--- a/pkgs/development/tools/rust/cargo-zigbuild/default.nix
+++ b/pkgs/development/tools/rust/cargo-zigbuild/default.nix
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A tool to compile Cargo projects with zig as the linker";
+    description = "Tool to compile Cargo projects with zig as the linker";
     mainProgram = "cargo-zigbuild";
     homepage = "https://github.com/messense/cargo-zigbuild";
     changelog = "https://github.com/messense/cargo-zigbuild/releases/tag/v${version}";
diff --git a/pkgs/development/tools/rust/cargo2junit/default.nix b/pkgs/development/tools/rust/cargo2junit/default.nix
index 6e10cc1fcb35a..d674c5b040713 100644
--- a/pkgs/development/tools/rust/cargo2junit/default.nix
+++ b/pkgs/development/tools/rust/cargo2junit/default.nix
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-u5Pd967qxjqFl9fV/KkClLDBwKql7p66WqbIVBvWKuM=";
 
   meta = with lib; {
-    description = "Converts cargo's json output (from stdin) to JUnit XML (to stdout).";
+    description = "Converts cargo's json output (from stdin) to JUnit XML (to stdout)";
     mainProgram = "cargo2junit";
     homepage = "https://github.com/johnterickson/cargo2junit";
     license = licenses.mit;
diff --git a/pkgs/development/tools/rust/cauwugo/default.nix b/pkgs/development/tools/rust/cauwugo/default.nix
index a4a199a2c70c3..29a7fed011026 100644
--- a/pkgs/development/tools/rust/cauwugo/default.nix
+++ b/pkgs/development/tools/rust/cauwugo/default.nix
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "An alternative cargo frontend that implements dynamic shell completion for usual cargo commands";
+    description = "Alternative cargo frontend that implements dynamic shell completion for usual cargo commands";
     mainProgram = "cauwugo";
     homepage = "https://github.com/pacak/bpaf/tree/master/bpaf_cauwugo";
     license = with licenses; [ mit /* or */ asl20 ];
diff --git a/pkgs/development/tools/rust/cbindgen/default.nix b/pkgs/development/tools/rust/cbindgen/default.nix
index ed4841505bcea..da73d1ca6ea69 100644
--- a/pkgs/development/tools/rust/cbindgen/default.nix
+++ b/pkgs/development/tools/rust/cbindgen/default.nix
@@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     changelog = "https://github.com/mozilla/cbindgen/blob/v${version}/CHANGES";
-    description = "A project for generating C bindings from Rust code";
+    description = "Project for generating C bindings from Rust code";
     mainProgram = "cbindgen";
     homepage = "https://github.com/mozilla/cbindgen";
     license = licenses.mpl20;
diff --git a/pkgs/development/tools/rust/crate2nix/default.nix b/pkgs/development/tools/rust/crate2nix/default.nix
index 175e79e639c34..a32a76aeb898f 100644
--- a/pkgs/development/tools/rust/crate2nix/default.nix
+++ b/pkgs/development/tools/rust/crate2nix/default.nix
@@ -42,7 +42,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A Nix build file generator for Rust crates.";
+    description = "Nix build file generator for Rust crates";
     mainProgram = "crate2nix";
     longDescription = ''
       Crate2nix generates Nix files from Cargo.toml/lock files
diff --git a/pkgs/development/tools/rust/critcmp/default.nix b/pkgs/development/tools/rust/critcmp/default.nix
index 3035e6b97937a..0c142bbf25149 100644
--- a/pkgs/development/tools/rust/critcmp/default.nix
+++ b/pkgs/development/tools/rust/critcmp/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-yzWa+/08tG8h+5V8XBc3k8GDivS6SHW6zVb+ug1sbE0=";
 
   meta = with lib; {
-    description = "A command line tool for comparing benchmarks run by Criterion";
+    description = "Command line tool for comparing benchmarks run by Criterion";
     mainProgram = "critcmp";
     homepage = "https://github.com/BurntSushi/critcmp";
     license = with licenses; [ mit unlicense ];
diff --git a/pkgs/development/tools/rust/duckscript/default.nix b/pkgs/development/tools/rust/duckscript/default.nix
index 3b8c27ddbb1ad..6f8092dd0fc30 100644
--- a/pkgs/development/tools/rust/duckscript/default.nix
+++ b/pkgs/development/tools/rust/duckscript/default.nix
@@ -1,6 +1,5 @@
 { lib
 , stdenv
-, fetchurl
 , runCommand
 , fetchCrate
 , rustPlatform
@@ -28,7 +27,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-bBqcHETEWooMgQeqPOZIK/77DdTtGq1JusBKoRj5K6w=";
 
   meta = with lib; {
-    description = "Simple, extendable and embeddable scripting language.";
+    description = "Simple, extendable and embeddable scripting language";
     homepage = "https://github.com/sagiegurari/duckscript";
     license = licenses.asl20;
     maintainers = with maintainers; [ mkg20001 ];
diff --git a/pkgs/development/tools/rust/leptosfmt/default.nix b/pkgs/development/tools/rust/leptosfmt/default.nix
index 7c174c4249eff..0a6f53fa05333 100644
--- a/pkgs/development/tools/rust/leptosfmt/default.nix
+++ b/pkgs/development/tools/rust/leptosfmt/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-NQYIq9Wc2mtUGeS3Iv2e0nfQkvcX6hOxZ6FHVcHD5cs=";
 
   meta = with lib; {
-    description = "A formatter for the leptos view! macro";
+    description = "Formatter for the leptos view! macro";
     mainProgram = "leptosfmt";
     homepage = "https://github.com/bram209/leptosfmt";
     changelog = "https://github.com/bram209/leptosfmt/blob/${src.rev}/CHANGELOG.md";
diff --git a/pkgs/development/tools/rust/maturin/default.nix b/pkgs/development/tools/rust/maturin/default.nix
index f7c213c13dd50..266cd54fdfd2d 100644
--- a/pkgs/development/tools/rust/maturin/default.nix
+++ b/pkgs/development/tools/rust/maturin/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "maturin";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "PyO3";
     repo = "maturin";
     rev = "v${version}";
-    hash = "sha256-3rID2epV1pCwpofFf9Wuafs1SlBWH7e7/4HPaSUAriQ=";
+    hash = "sha256-cKX5fDPQElNLAur2PF6J5050QnMNrazMTCVtGmjwmxQ=";
   };
 
-  cargoHash = "sha256-hPyPMQm/Oege0PPjYIrd1fEDOGqoQ1ffS2l6o8je4t4=";
+  cargoHash = "sha256-EuMPcJAGz564cC9UWrlihBxRUJCtqw4jvP/SQgx2L/0=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security libiconv ];
 
diff --git a/pkgs/development/tools/rust/probe-rs/default.nix b/pkgs/development/tools/rust/probe-rs/default.nix
deleted file mode 100644
index cb26888f1b05d..0000000000000
--- a/pkgs/development/tools/rust/probe-rs/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib
-, stdenv
-, rustPlatform
-, fetchFromGitHub
-, pkg-config
-, libusb1
-, openssl
-, DarwinTools
-, AppKit
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "probe-rs";
-  version = "0.23.0";
-
-  src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-5V7eLnukVAcOSX52myvaTlDbemGp6mDaWrQc3w4P5MI=";
-  };
-
-  cargoHash = "sha256-sZl4FhaKIMJe7v5AAIM2w7M8Ev7vCht3owkvt0UhOu8=";
-
-  cargoBuildFlags = [ "--features=cli" ];
-
-  nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.isDarwin [ DarwinTools ];
-
-  buildInputs = [ libusb1 openssl ] ++ lib.optionals stdenv.isDarwin [ AppKit ];
-
-  meta = with lib; {
-    description = "CLI tool for on-chip debugging and flashing of ARM chips";
-    homepage = "https://probe.rs/";
-    changelog = "https://github.com/probe-rs/probe-rs/blob/v${version}/CHANGELOG.md";
-    license = with licenses; [ asl20 /* or */ mit ];
-    maintainers = with maintainers; [ xgroleau newam ];
-  };
-}
diff --git a/pkgs/development/tools/rust/ra-multiplex/default.nix b/pkgs/development/tools/rust/ra-multiplex/default.nix
index 4dd7d2cd063d6..0eb0640101096 100644
--- a/pkgs/development/tools/rust/ra-multiplex/default.nix
+++ b/pkgs/development/tools/rust/ra-multiplex/default.nix
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage {
   '';
 
   meta = with lib; {
-    description = "A multiplexer for rust-analyzer";
+    description = "Multiplexer for rust-analyzer";
     mainProgram = "ra-multiplex";
     homepage = "https://github.com/pr2502/ra-multiplex";
     license = with licenses; [ mit ];
diff --git a/pkgs/development/tools/rust/roogle/default.nix b/pkgs/development/tools/rust/roogle/default.nix
index f95cad8588d41..2dbca708add5a 100644
--- a/pkgs/development/tools/rust/roogle/default.nix
+++ b/pkgs/development/tools/rust/roogle/default.nix
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A Rust API search engine which allows you to search functions by names and type signatures";
+    description = "Rust API search engine which allows you to search functions by names and type signatures";
     mainProgram = "roogle";
     homepage = "https://github.com/hkmatsumoto/roogle";
     license = with licenses; [ mit /* or */ asl20 ];
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 14d398002382a..941460c35d451 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -13,14 +13,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2024-04-29";
-  cargoSha256 = "sha256-OvkaBWkq5c3amvDZj51iOXUrfevBMhbCaKGHmrA/23E=";
+  version = "2024-06-11";
+  cargoSha256 = "sha256-mo3TGaUI1gjJX64Di7+M40CzHkIuFAuXl27yJ9GPkPU=";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-zttBYGaoHpZfqWHQ8OI5f9OkGHCHb8tDBMySwsYNa2U=";
+    sha256 = "sha256-/N0sZW3xiivMm5klk9zBtzMlO+uaxnUq35kI3bakLx8=";
   };
 
   cargoBuildFlags = [ "--bin" "rust-analyzer" "--bin" "rust-analyzer-proc-macro-srv" ];
@@ -62,7 +62,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A modular compiler frontend for the Rust language";
+    description = "Modular compiler frontend for the Rust language";
     homepage = "https://rust-analyzer.github.io";
     license = with licenses; [ mit asl20 ];
     maintainers = with maintainers; [ oxalica ];
diff --git a/pkgs/development/tools/rust/rust-audit-info/default.nix b/pkgs/development/tools/rust/rust-audit-info/default.nix
index afd53df7e147c..b0793e11ca387 100644
--- a/pkgs/development/tools/rust/rust-audit-info/default.nix
+++ b/pkgs/development/tools/rust/rust-audit-info/default.nix
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-bKrdgz6dyv/PF5JXMq7uvsh7SsK/qEd2W7tm6+YYlxg=";
 
   meta = with lib; {
-    description = "A command-line tool to extract the dependency trees embedded in binaries by cargo-auditable";
+    description = "Command-line tool to extract the dependency trees embedded in binaries by cargo-auditable";
     mainProgram = "rust-audit-info";
     homepage = "https://github.com/rust-secure-code/cargo-auditable/tree/master/rust-audit-info";
     license = with licenses; [ mit /* or */ asl20 ];
diff --git a/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch b/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch
index 2b191031da607..c3d3b5f8d7b19 100644
--- a/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch
+++ b/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch
@@ -1,39 +1,185 @@
 diff --git a/src/dist/component/package.rs b/src/dist/component/package.rs
-index 73a533b5..408ab815 100644
+index dfccc661..85233f3b 100644
 --- a/src/dist/component/package.rs
 +++ b/src/dist/component/package.rs
-@@ -113,6 +113,7 @@ fn install<'a>(
+@@ -113,6 +113,7 @@ impl Package for DirectoryPackage {
                      } else {
                          builder.move_file(path.clone(), &src_path)?
                      }
-+                    nix_patchelf_if_needed(&target.prefix().path().join(path.clone()), &src_path)
++                    nix_patchelf_if_needed(&target.prefix().path().join(path.clone()))
                  }
                  "dir" => {
                      if self.copy {
-@@ -135,6 +136,29 @@ fn components(&self) -> Vec<String> {
+@@ -135,6 +136,175 @@ impl Package for DirectoryPackage {
      }
  }
  
-+fn nix_patchelf_if_needed(dest_path: &Path, src_path: &Path) {
-+    let (is_bin, is_lib) = if let Some(p) = src_path.parent() {
-+        (p.ends_with("bin") || p.ends_with("libexec"), p.ends_with("lib"))
-+    } else {
-+        (false, false)
-+    };
++fn nix_wrap_lld(dest_lld_path: &Path) -> Result<()> {
++    use std::fs;
++    use std::io::Write;
++    use std::os::unix::fs::PermissionsExt;
++
++    let path = dest_lld_path.parent().unwrap();
++    let mut unwrapped_name = path.file_name().unwrap().to_string_lossy().to_string();
++    unwrapped_name.push_str("-unwrapped");
++    let unwrapped_dir = path.with_file_name(unwrapped_name);
++    fs::create_dir(&unwrapped_dir).context("failed to create unwrapped directory")?;
++    let mut unwrapped_lld = unwrapped_dir;
++    unwrapped_lld.push(dest_lld_path.file_name().unwrap());
++    fs::rename(dest_lld_path, &unwrapped_lld).context("failed to move file")?;
++    let mut ld_wrapper_path = std::env::current_exe()?
++        .parent()
++        .ok_or(anyhow!("failed to get parent directory"))?
++        .with_file_name("nix-support");
++    let mut file = std::fs::File::create(dest_lld_path)?;
++    ld_wrapper_path.push("ld-wrapper.sh");
++
++    let wrapped_script = format!(
++        "#!/usr/bin/env bash
++set -eu -o pipefail +o posix
++shopt -s nullglob
++export PROG=\"{}\"
++\"{}\" $@",
++        unwrapped_lld.to_string_lossy().to_string(),
++        ld_wrapper_path.to_string_lossy().to_string(),
++    );
++    file.write_all(wrapped_script.as_bytes())?;
++    let mut permissions = file.metadata()?.permissions();
++    permissions.set_mode(0o755);
++    file.set_permissions(permissions)?;
++    Ok(())
++}
++
++fn nix_patchelf_if_needed(dest_path: &Path) {
++    use std::fs::File;
++    use std::os::unix::fs::FileExt;
++
++    struct ELFReader<'a> {
++        file: &'a mut File,
++        is_32bit: bool,
++        is_little_end: bool,
++    }
++
++    impl<'a> ELFReader<'a> {
++        const MAGIC_NUMBER: &'static [u8] = &[0x7F, 0x45, 0x4c, 0x46];
++        const ET_EXEC: u16 = 0x2;
++        const ET_DYN: u16 = 0x3;
++        const PT_INTERP: u32 = 0x3;
++
++        fn new(file: &'a mut File) -> Option<Self> {
++            let mut magic_number = [0; 4];
++            file.read_exact(&mut magic_number).ok()?;
++            if Self::MAGIC_NUMBER != magic_number {
++                return None;
++            }
++            let mut ei_class = [0; 1];
++            file.read_exact_at(&mut ei_class, 0x4).ok()?;
++            let is_32bit = ei_class[0] == 1;
++            let mut ei_data = [0; 1];
++            file.read_exact_at(&mut ei_data, 0x5).ok()?;
++            let is_little_end = ei_data[0] == 1;
++            Some(Self {
++                file,
++                is_32bit,
++                is_little_end,
++            })
++        }
++
++        fn is_exec_or_dyn(&self) -> bool {
++            let e_type = self.read_u16_at(0x10);
++            e_type == Self::ET_EXEC || e_type == Self::ET_DYN
++        }
++
++        fn e_phoff(&self) -> u64 {
++            if self.is_32bit {
++                self.read_u32_at(0x1C) as u64
++            } else {
++                self.read_u64_at(0x20)
++            }
++        }
++
++        fn e_phentsize(&self) -> u64 {
++            let offset = if self.is_32bit { 0x2A } else { 0x36 };
++            self.read_u16_at(offset) as u64
++        }
++
++        fn e_phnum(&self) -> u64 {
++            let offset = if self.is_32bit { 0x2C } else { 0x38 };
++            self.read_u16_at(offset) as u64
++        }
 +
-+    if is_bin {
-+        let _ = ::std::process::Command::new("@patchelf@/bin/patchelf")
++        fn has_interp(&self) -> bool {
++            let e_phoff = self.e_phoff();
++            let e_phentsize = self.e_phentsize();
++            let e_phnum = self.e_phnum();
++            for i in 0..e_phnum {
++                let p_type = self.read_u32_at(e_phoff + i * e_phentsize);
++                if p_type == Self::PT_INTERP {
++                    return true;
++                }
++            }
++            false
++        }
++
++        fn read_u16_at(&self, offset: u64) -> u16 {
++            let mut data = [0; 2];
++            self.file.read_exact_at(&mut data, offset).unwrap();
++            if self.is_little_end {
++                u16::from_le_bytes(data)
++            } else {
++                u16::from_be_bytes(data)
++            }
++        }
++
++        fn read_u32_at(&self, offset: u64) -> u32 {
++            let mut data = [0; 4];
++            self.file.read_exact_at(&mut data, offset).unwrap();
++            if self.is_little_end {
++                u32::from_le_bytes(data)
++            } else {
++                u32::from_be_bytes(data)
++            }
++        }
++
++        fn read_u64_at(&self, offset: u64) -> u64 {
++            let mut data = [0; 8];
++            self.file.read_exact_at(&mut data, offset).unwrap();
++            if self.is_little_end {
++                u64::from_le_bytes(data)
++            } else {
++                u64::from_be_bytes(data)
++            }
++        }
++    }
++
++    let Some(mut dest_file) = File::open(dest_path).ok() else {
++        return;
++    };
++    let Some(elf) = ELFReader::new(&mut dest_file) else {
++        return;
++    };
++    if !elf.is_exec_or_dyn() {
++        return;
++    }
++    let mut patch_command = std::process::Command::new("@patchelf@/bin/patchelf");
++    if elf.has_interp() {
++        patch_command
 +            .arg("--set-interpreter")
-+            .arg("@dynamicLinker@")
-+            .arg(dest_path)
-+            .output();
++            .arg("@dynamicLinker@");
++    }
++    if Some(std::ffi::OsStr::new("rust-lld")) == dest_path.file_name() || !elf.has_interp() {
++        patch_command.arg("--add-rpath").arg("@libPath@");
 +    }
-+    else if is_lib {
-+        let _ = ::std::process::Command::new("@patchelf@/bin/patchelf")
-+            .arg("--set-rpath")
-+            .arg("@libPath@")
-+            .arg(dest_path)
-+            .output();
++
++    debug!("patching {dest_path:?} using patchelf");
++    if let Err(err) = patch_command.arg(dest_path).output() {
++        warn!("failed to execute patchelf: {err:?}");
++    }
++
++    if Some(std::ffi::OsStr::new("ld.lld")) == dest_path.file_name() {
++        if let Err(err) = nix_wrap_lld(dest_path) {
++            warn!("failed to wrap `ld.lld`: {err:?}");
++        }
 +    }
 +}
 +
diff --git a/pkgs/development/tools/rust/rustup/default.nix b/pkgs/development/tools/rust/rustup/default.nix
index e5874580d3f90..3f08882e1fbe0 100644
--- a/pkgs/development/tools/rust/rustup/default.nix
+++ b/pkgs/development/tools/rust/rustup/default.nix
@@ -48,7 +48,12 @@ rustPlatform.buildRustPackage rec {
   checkFeatures = [ ];
 
   patches = lib.optionals stdenv.isLinux [
-    (runCommand "0001-dynamically-patchelf-binaries.patch" { CC = stdenv.cc; patchelf = patchelf; libPath = "$ORIGIN/../lib:${libPath}"; } ''
+    (runCommand "0001-dynamically-patchelf-binaries.patch"
+      {
+        CC = stdenv.cc;
+        patchelf = patchelf;
+        libPath = "${libPath}";
+      } ''
       export dynamicLinker=$(cat $CC/nix-support/dynamic-linker)
       substitute ${./0001-dynamically-patchelf-binaries.patch} $out \
         --subst-var patchelf \
@@ -96,10 +101,25 @@ rustPlatform.buildRustPackage rec {
     # Note: fish completion script is not supported.
     $out/bin/rustup completions bash cargo > "$out/share/bash-completion/completions/cargo"
     $out/bin/rustup completions zsh cargo >  "$out/share/zsh/site-functions/_cargo"
+
+    # add a wrapper script for ld.lld
+    mkdir -p $out/nix-support
+    substituteAll ${../../../../../pkgs/build-support/wrapper-common/utils.bash} $out/nix-support/utils.bash
+    substituteAll ${../../../../../pkgs/build-support/bintools-wrapper/add-flags.sh} $out/nix-support/add-flags.sh
+    substituteAll ${../../../../../pkgs/build-support/bintools-wrapper/add-hardening.sh} $out/nix-support/add-hardening.sh
+    export prog='$PROG'
+    export use_response_file_by_default=0
+    substituteAll ${../../../../../pkgs/build-support/bintools-wrapper/ld-wrapper.sh} $out/nix-support/ld-wrapper.sh
+    chmod +x $out/nix-support/ld-wrapper.sh
   '';
 
+  env = lib.optionalAttrs (pname == "rustup") {
+    inherit (stdenv.cc.bintools) expandResponseParams shell suffixSalt wrapperName coreutils_bin;
+    hardening_unsupported_flags = "";
+  };
+
   meta = with lib; {
-    description = "The Rust toolchain installer";
+    description = "Rust toolchain installer";
     homepage = "https://www.rustup.rs/";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = [ maintainers.mic92 ];
diff --git a/pkgs/development/tools/rust/rusty-man/default.nix b/pkgs/development/tools/rust/rusty-man/default.nix
index 34524106c988e..05b9f85af4db8 100644
--- a/pkgs/development/tools/rust/rusty-man/default.nix
+++ b/pkgs/development/tools/rust/rusty-man/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-Wf8D6y3LRYJpQjFFt0w5X+BOllbR3mc4Gzcr1ad3zD0=";
 
   meta = with lib; {
-    description = "A command-line viewer for documentation generated by rustdoc";
+    description = "Command-line viewer for documentation generated by rustdoc";
     mainProgram = "rusty-man";
     homepage = "https://git.sr.ht/~ireas/rusty-man";
     changelog = "https://git.sr.ht/~ireas/rusty-man/tree/v${version}/item/CHANGELOG.md";
diff --git a/pkgs/development/tools/rust/sqlx-cli/default.nix b/pkgs/development/tools/rust/sqlx-cli/default.nix
index 81c02a0d636b8..fed8c02a5eaf4 100644
--- a/pkgs/development/tools/rust/sqlx-cli/default.nix
+++ b/pkgs/development/tools/rust/sqlx-cli/default.nix
@@ -27,12 +27,6 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-sMyK1v4pJmmlN47mvgUkpLBjcpmT346VSp984IpvVWY=";
 
-  # Prepare the Cargo.lock for offline use.
-  # See https://github.com/NixOS/nixpkgs/issues/261412
-  postConfigure = ''
-    cargo metadata --offline > /dev/null
-  '';
-
   buildNoDefaultFeatures = true;
   buildFeatures = [
     "native-tls"
diff --git a/pkgs/development/tools/rust/svd2rust/default.nix b/pkgs/development/tools/rust/svd2rust/default.nix
index 260809a5c9bf7..b01d04ad8123a 100644
--- a/pkgs/development/tools/rust/svd2rust/default.nix
+++ b/pkgs/development/tools/rust/svd2rust/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svd2rust";
-  version = "0.33.1";
+  version = "0.33.4";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-omAL/nRdB5wngOQTaZdnq9XaPnDj6kxda+27TQS7dUQ=";
+    hash = "sha256-V7d/lVNL7J/ErBlJUf8btrukGC+KSvk3r9AAethFNyk=";
   };
 
-  cargoHash = "sha256-YmnKZhGDQ+eqHy/KQxp3ZdCxKrZEKcS2R+5/t6HhOCg=";
+  cargoHash = "sha256-Wu/F4PU02hrmiL7OaKIP59CfDVWrU5cw60TYngqJYNg=";
 
   # error: linker `aarch64-linux-gnu-gcc` not found
   postPatch = ''
diff --git a/pkgs/development/tools/rye/Cargo.lock b/pkgs/development/tools/rye/Cargo.lock
index 9e24440fb0373..e2d27c9eade64 100644
--- a/pkgs/development/tools/rye/Cargo.lock
+++ b/pkgs/development/tools/rye/Cargo.lock
@@ -72,9 +72,9 @@ dependencies = [
 
 [[package]]
 name = "ahash"
-version = "0.8.7"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if",
  "once_cell",
@@ -84,51 +84,60 @@ dependencies = [
 
 [[package]]
 name = "aho-corasick"
-version = "1.1.2"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "allocator-api2"
-version = "0.2.16"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
 
 [[package]]
 name = "anstyle"
-version = "1.0.5"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2faccea4cc4ab4a667ce676a30e8ec13922a692c99bb8f5b11f1502c72e04220"
+checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
 
 [[package]]
 name = "anyhow"
-version = "1.0.79"
+version = "1.0.86"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
+checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
 dependencies = [
  "backtrace",
 ]
 
 [[package]]
+name = "arbitrary"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
+dependencies = [
+ "derive_arbitrary",
+]
+
+[[package]]
 name = "arc-swap"
-version = "1.6.0"
+version = "1.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
 
 [[package]]
 name = "autocfg"
-version = "1.1.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
 
 [[package]]
 name = "backtrace"
-version = "0.3.69"
+version = "0.3.71"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
 dependencies = [
  "addr2line",
  "cc",
@@ -152,6 +161,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
+name = "base64"
+version = "0.22.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
+
+[[package]]
 name = "bech32"
 version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -165,9 +180,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.2"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
 
 [[package]]
 name = "block-buffer"
@@ -180,9 +195,9 @@ dependencies = [
 
 [[package]]
 name = "bstr"
-version = "1.9.0"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc"
+checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
 dependencies = [
  "memchr",
  "serde",
@@ -190,9 +205,9 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
 
 [[package]]
 name = "byteorder"
@@ -223,12 +238,13 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.0.98"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f"
 dependencies = [
  "jobserver",
  "libc",
+ "once_cell",
 ]
 
 [[package]]
@@ -238,6 +254,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
+name = "cfg_aliases"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+
+[[package]]
 name = "chacha20"
 version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -294,9 +316,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.18"
+version = "4.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c"
+checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -304,9 +326,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.18"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
 dependencies = [
  "anstyle",
  "clap_lex",
@@ -315,30 +337,40 @@ dependencies = [
 
 [[package]]
 name = "clap_complete"
-version = "4.4.10"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb745187d7f4d76267b37485a65e0149edd0e91a4cfcdd3f27524ad86cee9f3"
+checksum = "dd79504325bf38b10165b02e89b4347300f855f273c4cb30c4a3209e6583275e"
 dependencies = [
  "clap",
 ]
 
 [[package]]
+name = "clap_complete_nushell"
+version = "4.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80d0e48e026ce7df2040239117d25e4e79714907420c70294a5ce4b6bbe6a7b6"
+dependencies = [
+ "clap",
+ "clap_complete",
+]
+
+[[package]]
 name = "clap_derive"
-version = "4.4.7"
+version = "4.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.65",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "configparser"
@@ -361,9 +393,12 @@ dependencies = [
 
 [[package]]
 name = "cookie-factory"
-version = "0.3.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "396de984970346b0d9e93d1415082923c679e5ae5c3ee3dcbd104f5610af126b"
+checksum = "9885fa71e26b8ab7855e2ec7cae6e9b380edff76cd052e07c683a0319d51b3a2"
+dependencies = [
+ "futures",
+]
 
 [[package]]
 name = "cpufeatures"
@@ -376,18 +411,18 @@ dependencies = [
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.19"
+version = "0.8.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
 
 [[package]]
 name = "crypto-common"
@@ -401,9 +436,9 @@ dependencies = [
 
 [[package]]
 name = "ctrlc"
-version = "3.4.2"
+version = "3.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b467862cc8610ca6fc9a1532d7777cee0804e678ab45410897b9396495994a0b"
+checksum = "672465ae37dc1bc6380a6547a8883d5dd397b0f1faaad4f265726cc7042a5345"
 dependencies = [
  "nix",
  "windows-sys 0.52.0",
@@ -411,9 +446,9 @@ dependencies = [
 
 [[package]]
 name = "curl"
-version = "0.4.44"
+version = "0.4.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
+checksum = "1e2161dd6eba090ff1594084e95fd67aeccf04382ffea77999ea94ed42ec67b6"
 dependencies = [
  "curl-sys",
  "libc",
@@ -421,14 +456,14 @@ dependencies = [
  "openssl-sys",
  "schannel",
  "socket2",
- "winapi",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "curl-sys"
-version = "0.4.71+curl-8.6.0"
+version = "0.4.72+curl-8.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7b12a7ab780395666cb576203dc3ed6e01513754939a600b85196ccf5356bc5"
+checksum = "29cbdc8314c447d11e8fd156dcdd031d9e02a7a976163e396b548c03153bc9ea"
 dependencies = [
  "cc",
  "libc",
@@ -436,7 +471,7 @@ dependencies = [
  "openssl-sys",
  "pkg-config",
  "vcpkg",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -463,7 +498,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.65",
 ]
 
 [[package]]
@@ -481,9 +516,9 @@ dependencies = [
 
 [[package]]
 name = "data-encoding"
-version = "2.5.0"
+version = "2.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
+checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2"
 
 [[package]]
 name = "deranged"
@@ -495,10 +530,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "derive_arbitrary"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.65",
+]
+
+[[package]]
 name = "deunicode"
-version = "1.4.2"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ae2a35373c5c74340b79ae6780b498b2b183915ec5dacf263aac5a099bf485a"
+checksum = "339544cc9e2c4dc3fc7149fd630c5f22263a4fdf18a98afd0075784968b5cf00"
 
 [[package]]
 name = "dialoguer"
@@ -531,7 +577,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.65",
 ]
 
 [[package]]
@@ -542,9 +588,9 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
 
 [[package]]
 name = "either"
-version = "1.9.0"
+version = "1.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
 
 [[package]]
 name = "encode_unicode"
@@ -554,9 +600,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.33"
+version = "0.8.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
 dependencies = [
  "cfg-if",
 ]
@@ -569,9 +615,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.8"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
 dependencies = [
  "libc",
  "windows-sys 0.52.0",
@@ -588,15 +634,15 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.0.1"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
 
 [[package]]
 name = "fiat-crypto"
-version = "0.2.7"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f"
+checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d"
 
 [[package]]
 name = "filetime"
@@ -606,7 +652,7 @@ checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall",
+ "redox_syscall 0.4.1",
  "windows-sys 0.52.0",
 ]
 
@@ -621,9 +667,9 @@ dependencies = [
 
 [[package]]
 name = "flate2"
-version = "1.0.28"
+version = "1.0.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae"
 dependencies = [
  "crc32fast",
  "miniz_oxide",
@@ -631,9 +677,9 @@ dependencies = [
 
 [[package]]
 name = "fluent"
-version = "0.16.0"
+version = "0.16.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7"
+checksum = "bb74634707bebd0ce645a981148e8fb8c7bccd4c33c652aeffd28bf2f96d555a"
 dependencies = [
  "fluent-bundle",
  "unic-langid",
@@ -641,9 +687,9 @@ dependencies = [
 
 [[package]]
 name = "fluent-bundle"
-version = "0.15.2"
+version = "0.15.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e242c601dec9711505f6d5bbff5bedd4b61b2469f2e8bb8e57ee7c9747a87ffd"
+checksum = "7fe0a21ee80050c678013f82edf4b705fe2f26f1f9877593d13198612503f493"
 dependencies = [
  "fluent-langneg",
  "fluent-syntax",
@@ -666,9 +712,9 @@ dependencies = [
 
 [[package]]
 name = "fluent-syntax"
-version = "0.11.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78"
+checksum = "2a530c4694a6a8d528794ee9bbd8ba0122e779629ac908d15ad5a7ae7763a33d"
 dependencies = [
  "thiserror",
 ]
@@ -712,6 +758,95 @@ dependencies = [
 ]
 
 [[package]]
+name = "futures"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.65",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
+
+[[package]]
+name = "futures-task"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
+
+[[package]]
+name = "futures-util"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
 name = "generic-array"
 version = "0.14.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -723,9 +858,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.12"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
 dependencies = [
  "cfg-if",
  "libc",
@@ -756,7 +891,7 @@ dependencies = [
  "log",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.65",
  "time",
 ]
 
@@ -775,9 +910,9 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.14.3"
+version = "0.14.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
 dependencies = [
  "ahash",
  "allocator-api2",
@@ -785,9 +920,9 @@ dependencies = [
 
 [[package]]
 name = "heck"
-version = "0.4.1"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
 
 [[package]]
 name = "hex"
@@ -832,7 +967,7 @@ dependencies = [
  "serde",
  "serde_derive",
  "thiserror",
- "toml 0.8.9",
+ "toml 0.8.13",
  "unic-langid",
 ]
 
@@ -874,7 +1009,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "strsim",
- "syn 2.0.48",
+ "syn 2.0.65",
  "unic-langid",
 ]
 
@@ -888,7 +1023,7 @@ dependencies = [
  "i18n-config",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.65",
 ]
 
 [[package]]
@@ -903,9 +1038,9 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.2.2"
+version = "2.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
 dependencies = [
  "equivalent",
  "hashbrown",
@@ -913,9 +1048,9 @@ dependencies = [
 
 [[package]]
 name = "indicatif"
-version = "0.17.7"
+version = "0.17.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25"
+checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3"
 dependencies = [
  "console",
  "instant",
@@ -935,9 +1070,9 @@ dependencies = [
 
 [[package]]
 name = "insta"
-version = "1.35.1"
+version = "1.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c985c1bef99cf13c58fade470483d81a2bfe846ebde60ed28cc2dddec2df9e2"
+checksum = "810ae6042d48e2c9e9215043563a58a80b877bc863228a74cf10c49d4620a6f5"
 dependencies = [
  "console",
  "lazy_static",
@@ -945,7 +1080,6 @@ dependencies = [
  "regex",
  "serde",
  "similar",
- "yaml-rust",
 ]
 
 [[package]]
@@ -961,18 +1095,18 @@ dependencies = [
 
 [[package]]
 name = "instant"
-version = "0.1.12"
+version = "0.1.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
 name = "intl-memoizer"
-version = "0.5.1"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f"
+checksum = "fe22e020fce238ae18a6d5d8c502ee76a52a6e880d99477657e6acc30ec57bda"
 dependencies = [
  "type-map",
  "unic-langid",
@@ -995,27 +1129,27 @@ checksum = "4b3f7cef34251886990511df1c61443aa928499d598a9473929ab5a90a527304"
 
 [[package]]
 name = "itoa"
-version = "1.0.10"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
 
 [[package]]
 name = "jobserver"
-version = "0.1.27"
+version = "0.1.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
+checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "junction"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca39ef0d69b18e6a2fd14c2f0a1d593200f4a4ed949b240b5917ab51fac754cb"
+checksum = "1c9c415a9b7b1e86cd5738f39d34c9e78c765da7fb1756dbd7d31b3b0d2e7afa"
 dependencies = [
  "scopeguard",
- "winapi",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1026,15 +1160,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.153"
+version = "0.2.155"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
 
 [[package]]
 name = "libz-sys"
-version = "1.1.15"
+version = "1.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6"
+checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9"
 dependencies = [
  "cc",
  "libc",
@@ -1044,9 +1178,9 @@ dependencies = [
 
 [[package]]
 name = "license"
-version = "3.2.0"
+version = "3.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "778718185117620a06e95d2b1e57d50166b1d6bfad93c8abfc1b3344c863ad8c"
+checksum = "3bba2f02ee1d13cd4bea565658939cd851d70e391f34f7c27b45b2077df3a2e4"
 dependencies = [
  "reword",
  "serde",
@@ -1061,15 +1195,15 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.13"
+version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
 
 [[package]]
 name = "lock_api"
-version = "0.4.11"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -1077,32 +1211,32 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
 name = "mailparse"
-version = "0.14.1"
+version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d096594926cab442e054e047eb8c1402f7d5b2272573b97ba68aa40629f9757"
+checksum = "3da03d5980411a724e8aaf7b61a7b5e386ec55a7fb49ee3d0ff79efc7e5e7c7e"
 dependencies = [
  "charset",
  "data-encoding",
- "quoted_printable 0.5.0",
+ "quoted_printable",
 ]
 
 [[package]]
 name = "memchr"
-version = "2.7.1"
+version = "2.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
 
 [[package]]
 name = "minijinja"
-version = "1.0.12"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fe0ff215195a22884d867b547c70a0c4815cbbcc70991f281dca604b20d10ce"
+checksum = "7165d0e94806d52ad5295e4b54a95176d831814840bc067298ca647e1c956338"
 dependencies = [
  "serde",
  "serde_json",
@@ -1116,9 +1250,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
+checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae"
 dependencies = [
  "adler",
 ]
@@ -1140,7 +1274,7 @@ dependencies = [
  "target-lexicon",
  "tempfile",
  "thiserror",
- "toml 0.8.9",
+ "toml 0.8.13",
  "tracing",
  "unscanny",
  "ureq",
@@ -1149,12 +1283,13 @@ dependencies = [
 
 [[package]]
 name = "nix"
-version = "0.27.1"
+version = "0.28.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "cfg-if",
+ "cfg_aliases",
  "libc",
 ]
 
@@ -1197,9 +1332,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "opaque-debug"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
 
 [[package]]
 name = "openssl-probe"
@@ -1209,18 +1344,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-src"
-version = "300.2.2+3.2.1"
+version = "300.2.3+3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bbfad0063610ac26ee79f7484739e2b07555a75c42453b89263830b5c8103bc"
+checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843"
 dependencies = [
  "cc",
 ]
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.99"
+version = "0.9.102"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
+checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2"
 dependencies = [
  "cc",
  "libc",
@@ -1231,9 +1366,9 @@ dependencies = [
 
 [[package]]
 name = "parking_lot"
-version = "0.12.1"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb"
 dependencies = [
  "lock_api",
  "parking_lot_core",
@@ -1241,15 +1376,15 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.9"
+version = "0.9.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall",
+ "redox_syscall 0.5.1",
  "smallvec",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -1304,41 +1439,47 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pin-project"
-version = "1.1.4"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
+checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.4"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
+checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.65",
 ]
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.13"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
 name = "pkg-config"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "platforms"
-version = "3.3.0"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c"
+checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7"
 
 [[package]]
 name = "poly1305"
@@ -1395,9 +1536,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.78"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+checksum = "0b33eb56c327dec362a9e55b3ad14f9d2f0904fb5a5b03b513ab5465399e9f43"
 dependencies = [
  "unicode-ident",
 ]
@@ -1413,9 +1554,9 @@ dependencies = [
 
 [[package]]
 name = "python-pkginfo"
-version = "0.6.0"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "037469c164f08c891bf6d69ca02f1d56210011451e229618669777df82124cfa"
+checksum = "85f2c5f010e6a63cabc4abcd60d8a61f8f8c450ac60ff0f4ae32a23b2c17d626"
 dependencies = [
  "flate2",
  "fs-err",
@@ -1424,26 +1565,20 @@ dependencies = [
  "serde",
  "tar",
  "thiserror",
- "zip",
+ "zip 1.3.0",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.35"
+version = "1.0.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "quoted_printable"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3866219251662ec3b26fc217e3e05bf9c4f84325234dfb96bf0bf840889e49"
-
-[[package]]
-name = "quoted_printable"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "79ec282e887b434b68c18fe5c121d38e72a5cf35119b59e54ec5b992ea9c8eb0"
@@ -1488,10 +1623,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "redox_syscall"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e"
+dependencies = [
+ "bitflags 2.5.0",
+]
+
+[[package]]
 name = "regex"
-version = "1.10.3"
+version = "1.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1501,9 +1645,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1512,9 +1656,9 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.8.2"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
 
 [[package]]
 name = "reword"
@@ -1527,37 +1671,38 @@ dependencies = [
 
 [[package]]
 name = "rfc2047-decoder"
-version = "0.2.2"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61fc4b4e52897c3e30b12b7e9b04461215b647fbe66f6def60dd8edbce14ec2e"
+checksum = "e90a668c463c412c3118ae1883e18b53d812c349f5af7a06de3ba4bb0c17cc73"
 dependencies = [
  "base64 0.21.7",
  "charset",
  "chumsky",
  "memchr",
- "quoted_printable 0.4.8",
+ "quoted_printable",
  "thiserror",
 ]
 
 [[package]]
 name = "ring"
-version = "0.17.7"
+version = "0.17.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
+checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
 dependencies = [
  "cc",
+ "cfg-if",
  "getrandom",
  "libc",
  "spin",
  "untrusted",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rust-embed"
-version = "8.3.0"
+version = "8.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb78f46d0066053d16d4ca7b898e9343bc3530f71c61d5ad84cd404ada068745"
+checksum = "19549741604902eb99a7ed0ee177a0663ee1eda51a29f71401f166e47e77806a"
 dependencies = [
  "rust-embed-impl",
  "rust-embed-utils",
@@ -1566,22 +1711,22 @@ dependencies = [
 
 [[package]]
 name = "rust-embed-impl"
-version = "8.3.0"
+version = "8.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b91ac2a3c6c0520a3fb3dd89321177c3c692937c4eb21893378219da10c44fc8"
+checksum = "cb9f96e283ec64401f30d3df8ee2aaeb2561f34c824381efa24a35f79bf40ee4"
 dependencies = [
  "proc-macro2",
  "quote",
  "rust-embed-utils",
- "syn 2.0.48",
+ "syn 2.0.65",
  "walkdir",
 ]
 
 [[package]]
 name = "rust-embed-utils"
-version = "8.3.0"
+version = "8.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86f69089032567ffff4eada41c573fc43ff466c7db7c5688b2e7969584345581"
+checksum = "38c74a686185620830701348de757fd36bef4aa9680fd23c49fc539ddcc1af32"
 dependencies = [
  "sha2",
  "walkdir",
@@ -1589,9 +1734,9 @@ dependencies = [
 
 [[package]]
 name = "rustc-demangle"
-version = "0.1.23"
+version = "0.1.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
 
 [[package]]
 name = "rustc-hash"
@@ -1610,11 +1755,11 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.31"
+version = "0.38.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "errno",
  "libc",
  "linux-raw-sys",
@@ -1623,35 +1768,45 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.21.10"
+version = "0.22.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
+checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
 dependencies = [
  "log",
  "ring",
+ "rustls-pki-types",
  "rustls-webpki",
- "sct",
+ "subtle",
+ "zeroize",
 ]
 
 [[package]]
+name = "rustls-pki-types"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d"
+
+[[package]]
 name = "rustls-webpki"
-version = "0.101.7"
+version = "0.102.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
+checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e"
 dependencies = [
  "ring",
+ "rustls-pki-types",
  "untrusted",
 ]
 
 [[package]]
 name = "rye"
-version = "0.33.0"
+version = "0.35.0"
 dependencies = [
  "age",
  "anyhow",
  "bzip2",
  "clap",
  "clap_complete",
+ "clap_complete_nushell",
  "configparser",
  "console",
  "ctrlc",
@@ -1687,22 +1842,22 @@ dependencies = [
  "static_vcruntime",
  "tar",
  "tempfile",
- "toml_edit 0.22.9",
+ "toml_edit",
  "url",
  "walkdir",
  "which",
  "winapi",
  "winreg",
  "xattr",
- "zip",
+ "zip 0.6.6",
  "zstd",
 ]
 
 [[package]]
 name = "ryu"
-version = "1.0.16"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
 
 [[package]]
 name = "salsa20"
@@ -1749,16 +1904,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "sct"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
 name = "secrecy"
 version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1784,46 +1929,46 @@ version = "0.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e14e4d63b804dc0c7ec4a1e52bcb63f02c7ac94476755aa579edac21e01f915d"
 dependencies = [
- "self_cell 1.0.3",
+ "self_cell 1.0.4",
 ]
 
 [[package]]
 name = "self_cell"
-version = "1.0.3"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
+checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a"
 
 [[package]]
 name = "semver"
-version = "1.0.22"
+version = "1.0.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
 
 [[package]]
 name = "serde"
-version = "1.0.196"
+version = "1.0.202"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
+checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.196"
+version = "1.0.202"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
+checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.65",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.113"
+version = "1.0.117"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
+checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"
 dependencies = [
  "itoa",
  "ryu",
@@ -1832,9 +1977,9 @@ dependencies = [
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.5"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
 dependencies = [
  "serde",
 ]
@@ -1864,9 +2009,18 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
 
 [[package]]
 name = "similar"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21"
+checksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
 
 [[package]]
 name = "slug"
@@ -1880,18 +2034,18 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.13.1"
+version = "1.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 [[package]]
 name = "socket2"
-version = "0.4.10"
+version = "0.5.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
+checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
 dependencies = [
  "libc",
- "winapi",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1943,9 +2097,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.48"
+version = "2.0.65"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+checksum = "d2863d96a84c6439701d7a38f9de935ec562c8832cc55d1dde0f513b52fad106"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1965,19 +2119,18 @@ dependencies = [
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.13"
+version = "0.12.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
+checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
 
 [[package]]
 name = "tempfile"
-version = "3.9.0"
+version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
 dependencies = [
  "cfg-if",
- "fastrand 2.0.1",
- "redox_syscall",
+ "fastrand 2.1.0",
  "rustix",
  "windows-sys 0.52.0",
 ]
@@ -1994,29 +2147,29 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.56"
+version = "1.0.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.56"
+version = "1.0.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.65",
 ]
 
 [[package]]
 name = "time"
-version = "0.3.34"
+version = "0.3.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
 dependencies = [
  "deranged",
  "itoa",
@@ -2035,9 +2188,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
 dependencies = [
  "num-conv",
  "time-core",
@@ -2078,47 +2231,36 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.8.9"
+version = "0.8.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6a4b9e8023eb94392d3dca65d717c53abc5dad49c07cb65bb8fcd87115fa325"
+checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.21.1",
+ "toml_edit",
 ]
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.5"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.21.1"
+version = "0.22.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c"
 dependencies = [
  "indexmap",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow 0.5.37",
-]
-
-[[package]]
-name = "toml_edit"
-version = "0.22.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
-dependencies = [
- "indexmap",
- "toml_datetime",
- "winnow 0.6.5",
+ "winnow",
 ]
 
 [[package]]
@@ -2141,7 +2283,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.65",
 ]
 
 [[package]]
@@ -2155,9 +2297,9 @@ dependencies = [
 
 [[package]]
 name = "type-map"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46"
+checksum = "deb68604048ff8fa93347f02441e4487594adc20bb8a084f9e564d2b827a0a9f"
 dependencies = [
  "rustc-hash",
 ]
@@ -2170,18 +2312,18 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "unic-langid"
-version = "0.9.4"
+version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "238722e6d794ed130f91f4ea33e01fcff4f188d92337a21297892521c72df516"
+checksum = "23dd9d1e72a73b25e07123a80776aae3e7b0ec461ef94f9151eed6ec88005a44"
 dependencies = [
  "unic-langid-impl",
 ]
 
 [[package]]
 name = "unic-langid-impl"
-version = "0.9.4"
+version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bd55a2063fdea4ef1f8633243a7b0524cbeef1905ae04c31a1c9b9775c55bc6"
+checksum = "0a5422c1f65949306c99240b81de9f3f15929f5a8bfe05bb44b034cc8bf593e5"
 dependencies = [
  "serde",
  "tinystr",
@@ -2201,24 +2343,24 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.10.1"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.11"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6"
 
 [[package]]
 name = "universal-hash"
@@ -2244,15 +2386,16 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
 
 [[package]]
 name = "ureq"
-version = "2.9.1"
+version = "2.9.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97"
+checksum = "d11a831e3c0b56e438a28308e7c810799e3c118417f342d30ecec080105395cd"
 dependencies = [
- "base64 0.21.7",
+ "base64 0.22.1",
  "flate2",
  "log",
  "once_cell",
  "rustls",
+ "rustls-pki-types",
  "rustls-webpki",
  "serde",
  "serde_json",
@@ -2286,9 +2429,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "walkdir"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -2302,9 +2445,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.90"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -2312,24 +2455,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.90"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.65",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.90"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -2337,40 +2480,42 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.90"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.65",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.90"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "webpki-roots"
-version = "0.25.4"
+version = "0.26.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
+checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009"
+dependencies = [
+ "rustls-pki-types",
+]
 
 [[package]]
 name = "which"
-version = "6.0.0"
+version = "6.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fa5e0c10bf77f44aac573e498d1a82d5fbd5e91f6fc0a99e7be4b38e85e101c"
+checksum = "8211e4f58a2b2805adfbefbc07bab82958fc91e3836339b1ab7ae32465dce0d7"
 dependencies = [
  "either",
  "home",
- "once_cell",
  "rustix",
- "windows-sys 0.52.0",
+ "winsafe",
 ]
 
 [[package]]
@@ -2391,11 +2536,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.6"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b"
 dependencies = [
- "winapi",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2419,7 +2564,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -2439,17 +2584,18 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
+ "windows_aarch64_gnullvm 0.52.5",
+ "windows_aarch64_msvc 0.52.5",
+ "windows_i686_gnu 0.52.5",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.52.5",
+ "windows_x86_64_gnu 0.52.5",
+ "windows_x86_64_gnullvm 0.52.5",
+ "windows_x86_64_msvc 0.52.5",
 ]
 
 [[package]]
@@ -2460,9 +2606,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -2472,9 +2618,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -2484,9 +2630,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -2496,9 +2648,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -2508,9 +2660,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -2520,9 +2672,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -2532,24 +2684,15 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
 
 [[package]]
 name = "winnow"
-version = "0.5.37"
+version = "0.6.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7cad8365489051ae9f054164e459304af2e7e9bb407c958076c8bf4aef52da5"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "winnow"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
+checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d"
 dependencies = [
  "memchr",
 ]
@@ -2565,6 +2708,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "winsafe"
+version = "0.0.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904"
+
+[[package]]
 name = "x25519-dalek"
 version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2588,32 +2737,23 @@ dependencies = [
 ]
 
 [[package]]
-name = "yaml-rust"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
-dependencies = [
- "linked-hash-map",
-]
-
-[[package]]
 name = "zerocopy"
-version = "0.7.32"
+version = "0.7.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087"
 dependencies = [
  "zerocopy-derive",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.32"
+version = "0.7.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.65",
 ]
 
 [[package]]
@@ -2633,7 +2773,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.65",
 ]
 
 [[package]]
@@ -2643,36 +2783,51 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
 dependencies = [
  "byteorder",
+ "crc32fast",
+ "crossbeam-utils",
+ "flate2",
+]
+
+[[package]]
+name = "zip"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1f4a27345eb6f7aa7bd015ba7eb4175fa4e1b462a29874b779e0bbcf96c6ac7"
+dependencies = [
+ "arbitrary",
  "bzip2",
  "crc32fast",
  "crossbeam-utils",
+ "displaydoc",
  "flate2",
+ "indexmap",
+ "thiserror",
  "time",
 ]
 
 [[package]]
 name = "zstd"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110"
+checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a"
 dependencies = [
  "zstd-safe",
 ]
 
 [[package]]
 name = "zstd-safe"
-version = "7.0.0"
+version = "7.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e"
+checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a"
 dependencies = [
  "zstd-sys",
 ]
 
 [[package]]
 name = "zstd-sys"
-version = "2.0.9+zstd.1.5.5"
+version = "2.0.10+zstd.1.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
+checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa"
 dependencies = [
  "cc",
  "pkg-config",
diff --git a/pkgs/development/tools/rye/default.nix b/pkgs/development/tools/rye/default.nix
index a69e96e702a48..8414cd5f59c02 100644
--- a/pkgs/development/tools/rye/default.nix
+++ b/pkgs/development/tools/rye/default.nix
@@ -8,17 +8,20 @@
 , CoreServices
 , Libsystem
 , SystemConfiguration
+, nix-update-script
+, testers
+, rye
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rye";
-  version = "0.33.0";
+  version = "0.35.0";
 
   src = fetchFromGitHub {
     owner = "mitsuhiko";
     repo = "rye";
     rev = "refs/tags/${version}";
-    hash = "sha256-sgA+Tp4Qysd07+1iNDgn9Hw0nDN8l6/fD41rE5QqWzY=";
+    hash = "sha256-mkBp9iFoN1LanJrcm4VdZ9k8cWNaRZIYl10ukT4Rfqc=";
   };
 
   cargoLock = {
@@ -80,12 +83,17 @@ rustPlatform.buildRustPackage rec {
     "--skip=test_version"
   ];
 
-  meta = with lib; {
-    description = "A tool to easily manage python dependencies and environments";
+  passthru = {
+    updateScript = nix-update-script { };
+    tests.version = testers.testVersion { package = rye; };
+  };
+
+  meta = {
+    description = "Tool to easily manage python dependencies and environments";
     homepage = "https://github.com/mitsuhiko/rye";
     changelog = "https://github.com/mitsuhiko/rye/releases/tag/${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ GaetanLepage ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ GaetanLepage ];
     mainProgram = "rye";
   };
 }
diff --git a/pkgs/development/tools/sassc/default.nix b/pkgs/development/tools/sassc/default.nix
index 15995303748f3..84488e0cb860b 100644
--- a/pkgs/development/tools/sassc/default.nix
+++ b/pkgs/development/tools/sassc/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libsass ];
 
   meta = with lib; {
-    description = "A front-end for libsass";
+    description = "Front-end for libsass";
     homepage = "https://github.com/sass/sassc/";
     license = licenses.mit;
     mainProgram = "sassc";
diff --git a/pkgs/development/tools/sauce-connect/default.nix b/pkgs/development/tools/sauce-connect/default.nix
index ef47a2e318cde..562125acf0681 100644
--- a/pkgs/development/tools/sauce-connect/default.nix
+++ b/pkgs/development/tools/sauce-connect/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   dontStrip = true;
 
   meta = with lib; {
-    description = "A secure tunneling app for executing tests securely when testing behind firewalls";
+    description = "Secure tunneling app for executing tests securely when testing behind firewalls";
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     homepage = "https://docs.saucelabs.com/reference/sauce-connect/";
diff --git a/pkgs/development/tools/sauce-connect/update.sh b/pkgs/development/tools/sauce-connect/update.sh
index d74cbe577b3c9..1c6f10b33046a 100755
--- a/pkgs/development/tools/sauce-connect/update.sh
+++ b/pkgs/development/tools/sauce-connect/update.sh
@@ -20,8 +20,7 @@ all_versions=$(jq --exit-status --raw-output \
     <<< "$response")
 latest_version=$(sort --version-sort <<< "$all_versions" | tail -n 1)
 for platform in x86_64-linux x86_64-darwin; do
-    update-source-version sauce-connect 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" \
-        --source-key="passthru.sources.$platform"
     update-source-version sauce-connect "$latest_version" \
+        --ignore-same-version \
         --source-key="passthru.sources.$platform"
 done
diff --git a/pkgs/development/tools/sca2d/default.nix b/pkgs/development/tools/sca2d/default.nix
index c23714bc872f6..314a840ba262a 100644
--- a/pkgs/development/tools/sca2d/default.nix
+++ b/pkgs/development/tools/sca2d/default.nix
@@ -41,7 +41,7 @@ python.pkgs.buildPythonApplication rec {
   pythonImportsCheck = [ "sca2d" ];
 
   meta = with lib; {
-    description = "An experimental static code analyser for OpenSCAD";
+    description = "Experimental static code analyser for OpenSCAD";
     mainProgram = "sca2d";
     homepage = "https://gitlab.com/bath_open_instrumentation_group/sca2d";
     changelog = "https://gitlab.com/bath_open_instrumentation_group/sca2d/-/blob/${src.rev}/CHANGELOG.md";
diff --git a/pkgs/development/tools/scalafmt/default.nix b/pkgs/development/tools/scalafmt/default.nix
index db65c8f3b79ce..588274bcab895 100644
--- a/pkgs/development/tools/scalafmt/default.nix
+++ b/pkgs/development/tools/scalafmt/default.nix
@@ -2,7 +2,7 @@
 
 let
   baseName = "scalafmt";
-  version = "3.7.9";
+  version = "3.7.17";
   deps = stdenv.mkDerivation {
     name = "${baseName}-deps-${version}";
     buildCommand = ''
@@ -12,7 +12,7 @@ let
       cp $(< deps) $out/share/java/
     '';
     outputHashMode = "recursive";
-    outputHash = "sha256-r4vv62H0AryjZb+34fVHvqvndipOYyf6XpQC9u8Dxso=";
+    outputHash = "sha256-8gK+fOnqwPFBbSWltNKInzXRJQ3WZxPlLqpvuTxF4fk=";
   };
 in
 stdenv.mkDerivation {
diff --git a/pkgs/development/tools/scenebuilder/default.nix b/pkgs/development/tools/scenebuilder/default.nix
index 14d6c87259048..ab80e76931730 100644
--- a/pkgs/development/tools/scenebuilder/default.nix
+++ b/pkgs/development/tools/scenebuilder/default.nix
@@ -89,7 +89,7 @@ maven'.buildMavenPackage rec {
 
   meta = with lib; {
     changelog = "https://github.com/gluonhq/scenebuilder/releases/tag/${src.rev}";
-    description = "A visual, drag'n'drop, layout tool for designing JavaFX application user interfaces.";
+    description = "Visual, drag'n'drop, layout tool for designing JavaFX application user interfaces";
     homepage = "https://gluonhq.com/products/scene-builder/";
     license = licenses.bsd3;
     mainProgram = "scenebuilder";
diff --git a/pkgs/development/tools/scenic-view/default.nix b/pkgs/development/tools/scenic-view/default.nix
index ff09f0cb4707e..84d47390aa151 100644
--- a/pkgs/development/tools/scenic-view/default.nix
+++ b/pkgs/development/tools/scenic-view/default.nix
@@ -104,7 +104,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     broken = stdenv.isDarwin;
-    description = "JavaFx application to visualize and modify the scenegraph of running JavaFx applications.";
+    description = "JavaFx application to visualize and modify the scenegraph of running JavaFx applications";
     mainProgram = "scenic-view";
     longDescription = ''
       A JavaFX application designed to make it simple to understand the current state of your application scenegraph
diff --git a/pkgs/development/tools/scss-lint/default.nix b/pkgs/development/tools/scss-lint/default.nix
index 866a860905c9a..2d26d2518d082 100644
--- a/pkgs/development/tools/scss-lint/default.nix
+++ b/pkgs/development/tools/scss-lint/default.nix
@@ -8,7 +8,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "scss-lint";
 
   meta = with lib; {
-    description = "A tool to help keep your SCSS files clean and readable";
+    description = "Tool to help keep your SCSS files clean and readable";
     homepage    = "https://github.com/brigade/scss-lint";
     license     = licenses.mit;
     maintainers = with maintainers; [ lovek323 nicknovitski ];
diff --git a/pkgs/development/tools/sea-orm-cli/default.nix b/pkgs/development/tools/sea-orm-cli/default.nix
index a983924c0c014..98b52a55af8dc 100644
--- a/pkgs/development/tools/sea-orm-cli/default.nix
+++ b/pkgs/development/tools/sea-orm-cli/default.nix
@@ -8,11 +8,11 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "sea-orm-cli";
-  version = "0.12.10";
+  version = "0.12.15";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-BVQbzP/+TJFqhnBeerYiLMpJJ8q9x582DR5X10K027U=";
+    hash = "sha256-eRsWQXaE8zzECPY+xxVIwTylbuSPT6ABamI4WNVkw8M=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ];
 
-  cargoHash = "sha256-qCcWReo72eHN9MoTVAmSHYVhpqw0kZ9VU/plYRcirVA=";
+  cargoHash = "sha256-sIyKkTO2DSLkRAlSUSRQYrZb8UtKZrszjn2jELNOSOU=";
 
   meta = with lib; {
     homepage = "https://www.sea-ql.org/SeaORM";
diff --git a/pkgs/development/tools/selene/default.nix b/pkgs/development/tools/selene/default.nix
index 0bd600423b31d..0d836fe7a24d5 100644
--- a/pkgs/development/tools/selene/default.nix
+++ b/pkgs/development/tools/selene/default.nix
@@ -34,7 +34,7 @@ rustPlatform.buildRustPackage rec {
   buildNoDefaultFeatures = !robloxSupport;
 
   meta = with lib; {
-    description = "A blazing-fast modern Lua linter written in Rust";
+    description = "Blazing-fast modern Lua linter written in Rust";
     mainProgram = "selene";
     homepage = "https://github.com/kampfkarren/selene";
     changelog = "https://github.com/kampfkarren/selene/blob/${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix
index 1cee0603e6815..41982c3d7d3e1 100644
--- a/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/pkgs/development/tools/selenium/chromedriver/default.nix
@@ -60,7 +60,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://chromedriver.chromium.org/";
-    description = "A WebDriver server for running Selenium tests on Chrome";
+    description = "WebDriver server for running Selenium tests on Chrome";
     longDescription = ''
       WebDriver is an open source tool for automated testing of webapps across
       many browsers. It provides capabilities for navigating to web pages, user
diff --git a/pkgs/development/tools/selenium/htmlunit-driver/default.nix b/pkgs/development/tools/selenium/htmlunit-driver/default.nix
index dcea17d807d92..788a28a87f22b 100644
--- a/pkgs/development/tools/selenium/htmlunit-driver/default.nix
+++ b/pkgs/development/tools/selenium/htmlunit-driver/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/SeleniumHQ/htmlunit-driver";
-    description = "A WebDriver server for running Selenium tests on the HtmlUnit headless browser";
+    description = "WebDriver server for running Selenium tests on the HtmlUnit headless browser";
     maintainers = with maintainers; [ coconnor offline ];
     platforms = platforms.all;
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
diff --git a/pkgs/development/tools/sem/default.nix b/pkgs/development/tools/sem/default.nix
index e61abb7ca506b..81ae332a66e5d 100644
--- a/pkgs/development/tools/sem/default.nix
+++ b/pkgs/development/tools/sem/default.nix
@@ -21,7 +21,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "A cli to operate on semaphore ci (2.0)";
+    description = "Cli to operate on semaphore ci (2.0)";
     homepage = "https://github.com/semaphoreci/cli";
     changelog = "https://github.com/semaphoreci/cli/releases/tag/v${version}";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/semantic-release/default.nix b/pkgs/development/tools/semantic-release/default.nix
index 2f8a30e653a5d..7da3d9e164e73 100644
--- a/pkgs/development/tools/semantic-release/default.nix
+++ b/pkgs/development/tools/semantic-release/default.nix
@@ -8,16 +8,16 @@
 
 buildNpmPackage rec {
   pname = "semantic-release";
-  version = "23.0.8";
+  version = "24.0.0";
 
   src = fetchFromGitHub {
     owner = "semantic-release";
     repo = "semantic-release";
     rev = "v${version}";
-    hash = "sha256-9dnBrwvV0by2EFIpXd++I8JEzdotWSFcK7wbY/1Rpx0=";
+    hash = "sha256-UoxsuCGWgHL7tYrBKS83VUkvGTUMBtpdO8ByKv5Dbrk=";
   };
 
-  npmDepsHash = "sha256-GwrrjL8egqoE2ATK5wOWuMF/xzCLYAe9wzZ0ff5H82E=";
+  npmDepsHash = "sha256-MmdgUa3j3MD/SCqtMtAGvocHTgv5OIu8RdT27JgNvcg=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/development/tools/sentry-cli/default.nix b/pkgs/development/tools/sentry-cli/default.nix
index 324218082bc3d..cffe180a92d03 100644
--- a/pkgs/development/tools/sentry-cli/default.nix
+++ b/pkgs/development/tools/sentry-cli/default.nix
@@ -11,13 +11,13 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "sentry-cli";
-  version = "2.31.0";
+  version = "2.32.1";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-cli";
     rev = version;
-    sha256 = "sha256-2F8f+vw559FI7CCiLkP8WLpLzDYzr3SHf/Ec8yFHu6g=";
+    sha256 = "sha256-N92qv1CjOSeoknIbf+LA0oAzy75uRGjOpcpHCg7g5lY=";
   };
   doCheck = false;
 
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ];
   nativeBuildInputs = [ installShellFiles pkg-config ];
 
-  cargoHash = "sha256-G/c84j9BquLCJcl60H0ZZZDxjTHpaGHflfJL/hzdgYQ=";
+  cargoHash = "sha256-9L02ox2T+dBRx+mmFpy5Bktsyp3C/havfZoDaNevIMw=";
 
   postInstall = ''
     installShellCompletion --cmd sentry-cli \
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     homepage = "https://docs.sentry.io/cli/";
     license = licenses.bsd3;
-    description = "A command line utility to work with Sentry";
+    description = "Command line utility to work with Sentry";
     mainProgram = "sentry-cli";
     changelog = "https://github.com/getsentry/sentry-cli/raw/${version}/CHANGELOG.md";
     maintainers = with maintainers; [ rizary ];
diff --git a/pkgs/development/tools/shellharden/default.nix b/pkgs/development/tools/shellharden/default.nix
index 47498cca57c28..e1965aa2b006f 100644
--- a/pkgs/development/tools/shellharden/default.nix
+++ b/pkgs/development/tools/shellharden/default.nix
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   postPatch = "patchShebangs moduletests/run";
 
   meta = with lib; {
-    description = "The corrective bash syntax highlighter";
+    description = "Corrective bash syntax highlighter";
     mainProgram = "shellharden";
     longDescription = ''
       Shellharden is a syntax highlighter and a tool to semi-automate the
diff --git a/pkgs/development/tools/simavr/default.nix b/pkgs/development/tools/simavr/default.nix
index 3ce0a3cddf90b..deab8539ef142 100644
--- a/pkgs/development/tools/simavr/default.nix
+++ b/pkgs/development/tools/simavr/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, makeSetupHook, fetchFromGitHub, libelf, which, pkg-config, freeglut
+{ lib, stdenv, makeSetupHook, fetchFromGitHub, libelf, which, pkg-config, libglut
 , avrgcc, avrlibc
 , libGLU, libGL
 , GLUT }:
@@ -32,7 +32,7 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ which pkg-config avrgcc ]
     ++ lib.optional stdenv.isDarwin setupHookDarwin;
-  buildInputs = [ libelf freeglut libGLU libGL ]
+  buildInputs = [ libelf libglut libGLU libGL ]
     ++ lib.optional stdenv.isDarwin GLUT;
 
   # remove forbidden references to $TMPDIR
@@ -44,7 +44,7 @@ in stdenv.mkDerivation rec {
   checkTarget = "-C tests run_tests";
 
   meta = with lib; {
-    description = "A lean and mean Atmel AVR simulator";
+    description = "Lean and mean Atmel AVR simulator";
     mainProgram = "simavr";
     homepage    = "https://github.com/buserror/simavr";
     license     = licenses.gpl3;
diff --git a/pkgs/development/tools/skaffold/default.nix b/pkgs/development/tools/skaffold/default.nix
index a67c430dbfc1a..da1a2db8c86c7 100644
--- a/pkgs/development/tools/skaffold/default.nix
+++ b/pkgs/development/tools/skaffold/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "skaffold";
-  version = "2.11.0";
+  version = "2.12.0";
 
   src = fetchFromGitHub {
     owner = "GoogleContainerTools";
     repo = "skaffold";
     rev = "v${version}";
-    hash = "sha256-xaRVgvYK6xWSy75K7AOkSw4ZjXn3xR0NqbBBbbK5MVU=";
+    hash = "sha256-q57n5Jo682u/YK+5bgYqMufjPuPOPsBgJzxSl1fdqxA=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/skjold/default.nix b/pkgs/development/tools/skjold/default.nix
index e827e727a9570..bbd5f57a778d0 100644
--- a/pkgs/development/tools/skjold/default.nix
+++ b/pkgs/development/tools/skjold/default.nix
@@ -1,49 +1,34 @@
-{ lib
-, fetchFromGitHub
-, python3
+{
+  lib,
+  fetchFromGitHub,
+  python3,
 }:
 
-let
-  py = python3.override {
-    packageOverrides = self: super: {
-      packaging = super.packaging.overridePythonAttrs (oldAttrs: rec {
-        version = "21.3";
-        src = oldAttrs.src.override {
-          inherit version;
-          hash = "sha256-3UfEKSfYmrkR5gZRiQfMLTofOLvQJjhZcGQ/nFuOz+s=";
-        };
-        nativeBuildInputs = with python3.pkgs; [ setuptools ];
-        propagatedBuildInputs = with python3.pkgs; [ pyparsing six ];
-      });
-    };
-  };
-in
-with py.pkgs;
-
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "skjold";
-  version = "0.6.1";
-  format = "pyproject";
+  version = "0.6.2";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "twu";
-    repo = pname;
+    repo = "skjold";
     rev = "refs/tags/v${version}";
-    hash = "sha256-rsdstzNZvokYfTjEyPrWR+0SJpf9wL0HAesq8+A+tPY=";
+    hash = "sha256-/ltaRs2WZXbrG3cVez+QIwupJrsV550TjOALbHX9Z0I=";
   };
 
-  nativeBuildInputs = with py.pkgs; [
-    poetry-core
-  ];
+  pythonRelaxDeps = [ "packaging" ];
 
-  propagatedBuildInputs = with py.pkgs; [
+  build-system = with python3.pkgs; [ poetry-core ];
+
+
+  dependencies = with python3.pkgs; [
     click
     packaging
     pyyaml
     toml
   ];
 
-  nativeCheckInputs = with py.pkgs; [
+  nativeCheckInputs = with python3.pkgs; [
     pytest-mock
     pytest-watch
     pytestCheckHook
@@ -67,15 +52,13 @@ buildPythonApplication rec {
     "urllib3"
   ];
 
-  pythonImportsCheck = [
-    "skjold"
-  ];
+  pythonImportsCheck = [ "skjold" ];
 
   meta = with lib; {
     description = "Tool to Python dependencies against security advisory databases";
     homepage = "https://github.com/twu/skjold";
     changelog = "https://github.com/twu/skjold/releases/tag/v${version}";
-    license = with licenses; [ mit ];
+    license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index b8f4ab5dc68db..91265aa2ed2e6 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -18,13 +18,13 @@
 
 buildGoModule rec {
   pname = "skopeo";
-  version = "1.15.0";
+  version = "1.15.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "containers";
     repo = "skopeo";
-    hash = "sha256-GMZjmKM2bFv57b2u7VjiA2OF6gD7vtoQ3ofS2rQfNrk=";
+    hash = "sha256-Zv36vSPfXcpBmxyEA8b3Xoo9HhSWtxnWPP/SubIcHDo=";
   };
 
   outputs = [ "out" "man" ];
@@ -70,7 +70,7 @@ buildGoModule rec {
 
   meta = with lib; {
     changelog = "https://github.com/containers/skopeo/releases/tag/${src.rev}";
-    description = "A command line utility for various operations on container images and image repositories";
+    description = "Command line utility for various operations on container images and image repositories";
     mainProgram = "skopeo";
     homepage = "https://github.com/containers/skopeo";
     maintainers = with maintainers; [ lewo developer-guy ] ++ teams.podman.members;
diff --git a/pkgs/development/tools/smlfmt/default.nix b/pkgs/development/tools/smlfmt/default.nix
index b0cf14e8a5dd6..1ae8c49ab262f 100644
--- a/pkgs/development/tools/smlfmt/default.nix
+++ b/pkgs/development/tools/smlfmt/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A custom parser/auto-formatter for Standard ML";
+    description = "Custom parser/auto-formatter for Standard ML";
     mainProgram = "smlfmt";
     longDescription = ''
       A custom parser and code formatter for Standard ML, with helpful error messages.
diff --git a/pkgs/development/tools/snazy/default.nix b/pkgs/development/tools/snazy/default.nix
index 2b3a719d33d21..e77cc4ae0c702 100644
--- a/pkgs/development/tools/snazy/default.nix
+++ b/pkgs/development/tools/snazy/default.nix
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A snazzy json log viewer";
+    description = "Snazzy json log viewer";
     mainProgram = "snazy";
     longDescription = ''
       Snazy is a simple tool to parse json logs and output them in a nice format
diff --git a/pkgs/development/tools/so/default.nix b/pkgs/development/tools/so/default.nix
index e057d5290561a..6b0c37ec3fec8 100644
--- a/pkgs/development/tools/so/default.nix
+++ b/pkgs/development/tools/so/default.nix
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A TUI interface to the StackExchange network";
+    description = "TUI interface to the StackExchange network";
     mainProgram = "so";
     homepage = "https://github.com/samtay/so";
     license = licenses.mit;
diff --git a/pkgs/development/tools/solarus-quest-editor/default.nix b/pkgs/development/tools/solarus-quest-editor/default.nix
index e0743d13c1fc3..f0c6ba5bf0f1c 100644
--- a/pkgs/development/tools/solarus-quest-editor/default.nix
+++ b/pkgs/development/tools/solarus-quest-editor/default.nix
@@ -27,7 +27,7 @@ mkDerivation rec {
     libmodplug libvorbis solarus qtbase qttools glm ];
 
   meta = with lib; {
-    description = "The editor for the Zelda-like ARPG game engine, Solarus";
+    description = "Editor for the Zelda-like ARPG game engine, Solarus";
     mainProgram = "solarus-quest-editor";
     longDescription = ''
       Solarus is a game engine for Zelda-like ARPG games written in lua.
diff --git a/pkgs/development/tools/spicy/default.nix b/pkgs/development/tools/spicy/default.nix
index b297053843e71..369747f0d571a 100644
--- a/pkgs/development/tools/spicy/default.nix
+++ b/pkgs/development/tools/spicy/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
-    description = "A Nintendo 64 segment assembler";
+    description = "Nintendo 64 segment assembler";
     longDescription = ''
       An open-source version of the Nintendo64 sdk's mild.exe. Assembles
       segments into an n64-compatible rom.
diff --git a/pkgs/development/tools/spirv-tools/default.nix b/pkgs/development/tools/spirv-tools/default.nix
index dcf124e151afa..50d04ba050c3f 100644
--- a/pkgs/development/tools/spirv-tools/default.nix
+++ b/pkgs/development/tools/spirv-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spirv-tools";
-  version = "1.3.280.0";
+  version = "1.3.283.0";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Tools";
     rev = "vulkan-sdk-${version}";
-    hash = "sha256-WnlFr9M7OI4unCIxfmSkvcLqZFKhW4Qkbb4+xp8lSOo=";
+    hash = "sha256-at3krE0torhjg7G+NkX0/ewc26Sg/1t2xW7wghAAuZo=";
   };
 
   # The cmake options are sufficient for turning on static building, but not
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "The SPIR-V Tools project provides an API and commands for processing SPIR-V modules";
+    description = "SPIR-V Tools project provides an API and commands for processing SPIR-V modules";
     homepage = "https://github.com/KhronosGroup/SPIRV-Tools";
     license = licenses.asl20;
     platforms = with platforms; unix ++ windows;
diff --git a/pkgs/development/tools/spring-boot-cli/default.nix b/pkgs/development/tools/spring-boot-cli/default.nix
index ed67db03e5c84..0bd4d805a143f 100644
--- a/pkgs/development/tools/spring-boot-cli/default.nix
+++ b/pkgs/development/tools/spring-boot-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "spring-boot-cli";
-  version = "3.2.5";
+  version = "3.3.0";
 
   src = fetchzip {
     url = "mirror://maven/org/springframework/boot/${finalAttrs.pname}/${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}-bin.zip";
-    hash = "sha256-NRJ5vL/tcm/CrNIEUh7gntLsLwWD9bL048Ycx1pRlQU=";
+    hash = "sha256-dTTTcmR4C9UiYEfiKHr0sJBtHg/+sJcGIdrXSOoK1mw=";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/pkgs/development/tools/sqldef/default.nix b/pkgs/development/tools/sqldef/default.nix
index 47f302a2ac78d..cde6a9bed65cd 100644
--- a/pkgs/development/tools/sqldef/default.nix
+++ b/pkgs/development/tools/sqldef/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "sqldef";
-  version = "0.17.6";
+  version = "0.17.11";
 
   src = fetchFromGitHub {
     owner = "k0kubun";
     repo = "sqldef";
     rev = "v${version}";
-    hash = "sha256-VgPc78xhafRlEUfNMKiYDyWqZVtYDkqwVDQ3BG9r70w=";
+    hash = "sha256-VCx+vrGKr7+rdxcwY9kfn13wSq2eVc3g9xoFlME8JF0=";
   };
 
   proxyVendor = true;
 
-  vendorHash = "sha256-YmjQj116egYhcpJ9Vps1d30bfCY6pAu/mA9MEzXVJb8=";
+  vendorHash = "sha256-I1kyXotFYvnL8/FryjKJWGOYSTeXrXNB1+TNgR7q3qo=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/development/tools/squawk/default.nix b/pkgs/development/tools/squawk/default.nix
index 7a70c6378d60d..5270523caf6e5 100644
--- a/pkgs/development/tools/squawk/default.nix
+++ b/pkgs/development/tools/squawk/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "squawk";
-  version = "0.28.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "sbdchd";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-RnY41G0ombqJewv+kxvg8AwQeRaVb+frZjmU/Cd28Jo=";
+    hash = "sha256-Uc357UspC2O/IxRRTy04jubzhKDRnIAN2CoHvbrGbHg=";
   };
 
-  cargoHash = "sha256-YR2ZSwrCkX8eyHTj1Dtk9f01/y9fDtknouige68kS8I=";
+  cargoHash = "sha256-G0t3wvcp1Dm0ZCDnzTVf1XJ2Dtr0LyrKM1Vvso0IoaA=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/sslmate-agent/default.nix b/pkgs/development/tools/sslmate-agent/default.nix
index dccc22e7fe9e1..174507afc21c4 100644
--- a/pkgs/development/tools/sslmate-agent/default.nix
+++ b/pkgs/development/tools/sslmate-agent/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     homepage = "https://sslmate.com/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    maintainers = with maintainers; [ wolfangaukang ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/steamos-devkit/default.nix b/pkgs/development/tools/steamos-devkit/default.nix
index 894bfff77da83..462bf620e7308 100644
--- a/pkgs/development/tools/steamos-devkit/default.nix
+++ b/pkgs/development/tools/steamos-devkit/default.nix
@@ -12,14 +12,14 @@ let
   # steamos-devkit requires a build of the unreleased pyimgui 2.0 branch, move to pythonPackages when 2.0 is released.
   pyimgui = python3.pkgs.buildPythonPackage {
     pname = "pyimgui";
-    version = "unstable-2022-03-06";
+    version = "2.0.0";
 
     src = fetchFromGitHub {
       owner = "pyimgui";
       repo = "pyimgui";
-      rev = "1f095af5886f424ee12f26fa93b108b6420fafa4"; # dev/version-2.0 branch
+      rev = "2.0.0";
       fetchSubmodules = true;
-      sha256 = "sha256-k070ue132m8H1Zm8bo7J7spCS5dSTGOj689ci7vJ+aw=";
+      sha256 = "sha256-sw/bLTdrnPhBhrnk5yyXCbEK4kMo+PdEvoMJ9aaZbsE=";
     };
 
     nativeBuildInputs = with python3.pkgs; [
@@ -57,14 +57,14 @@ let
 in
 python3.pkgs.buildPythonPackage rec {
   pname = "steamos-devkit";
-  version = "0.20230411.0";
+  version = "0.20240216.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.steamos.cloud";
     owner = "devkit";
     repo = "steamos-devkit";
     rev = "v${version}";
-    sha256 = "sha256-DQIyjEpUFnC0OjMjKMrGYs4+HoEDfcSc3m3rfXLPyZ0=";
+    sha256 = "sha256-eOtESkGMIjcijAFITOcYKPsXH6xH/Xcj9D+OItMqebM=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/stylua/default.nix b/pkgs/development/tools/stylua/default.nix
index de4a20ee36fec..b81b1f281b658 100644
--- a/pkgs/development/tools/stylua/default.nix
+++ b/pkgs/development/tools/stylua/default.nix
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   buildFeatures = features;
 
   meta = with lib; {
-    description = "An opinionated Lua code formatter";
+    description = "Opinionated Lua code formatter";
     homepage = "https://github.com/johnnymorganz/stylua";
     changelog = "https://github.com/johnnymorganz/stylua/blob/v${version}/CHANGELOG.md";
     license = licenses.mpl20;
diff --git a/pkgs/development/tools/subxt/default.nix b/pkgs/development/tools/subxt/default.nix
index 6fd920e8b00c2..6d551fa7348ce 100644
--- a/pkgs/development/tools/subxt/default.nix
+++ b/pkgs/development/tools/subxt/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "subxt";
-  version = "0.35.3";
+  version = "0.36.0";
 
   src = fetchFromGitHub {
     owner = "paritytech";
     repo = "subxt";
     rev = "v${version}";
-    hash = "sha256-5G5gFxr7CIvZ1RfkLIEF/z4t+wTj09fJXTNr2v0vuyg=";
+    hash = "sha256-13zPRp5lzUkQEcNpME1M8VMON0mq7VMQ90WL24fzcaI=";
   };
 
-  cargoHash = "sha256-5lAs2J5hkPhBN3tORt6N7834brS/dAkKsXvZ6C1K+OY=";
+  cargoHash = "sha256-7agdxuEVLZg1uTKyrtPnLdzMHlvdY41/w6QCDj7TC2E=";
 
   # Only build the command line client
   cargoBuildFlags = [ "--bin" "subxt" ];
@@ -34,7 +34,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/paritytech/subxt";
-    description = "Submit transactions to a substrate node via RPC.";
+    description = "Submit transactions to a substrate node via RPC";
     mainProgram = "subxt";
     license = with licenses; [ gpl3Plus asl20 ];
     maintainers = [ maintainers.FlorianFranzen ];
diff --git a/pkgs/development/tools/supabase-cli/default.nix b/pkgs/development/tools/supabase-cli/default.nix
index cd2f0bacc96e6..b37324eba9cd1 100644
--- a/pkgs/development/tools/supabase-cli/default.nix
+++ b/pkgs/development/tools/supabase-cli/default.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "supabase-cli";
-  version = "1.164.1";
+  version = "1.169.5";
 
   src = fetchFromGitHub {
     owner = "supabase";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-VbJ/A+ohPCVf2DxODK79Va8coHMGlJBkQoSEcUvlr6Q=";
+    hash = "sha256-H0y/eBmUG5nT/EsF1iC5hbhRBhR8jwwxlYav4Q7bSqM=";
   };
 
-  vendorHash = "sha256-mD0EmYwxCOrKcudJLr56p/bmM0uufNn4MgFTHTSa/ec=";
+  vendorHash = "sha256-wZ+yYPwmePKMfYTve3Ha7teSx1mlHLnc1ZaZE6ZEdu4=";
 
   ldflags = [
     "-s"
@@ -48,7 +48,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A CLI for interacting with supabase";
+    description = "CLI for interacting with supabase";
     homepage = "https://github.com/supabase/cli";
     license = licenses.mit;
     maintainers = with maintainers; [ gerschtli kashw2 ];
diff --git a/pkgs/development/tools/swiftformat/default.nix b/pkgs/development/tools/swiftformat/default.nix
index 823496693f25f..086c79d964a01 100644
--- a/pkgs/development/tools/swiftformat/default.nix
+++ b/pkgs/development/tools/swiftformat/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A code formatting and linting tool for Swift";
+    description = "Code formatting and linting tool for Swift";
     homepage = "https://github.com/nicklockwood/SwiftFormat";
     license = licenses.mit;
     maintainers = [ maintainers.bdesham ];
diff --git a/pkgs/development/tools/swiftpm2nix/support.nix b/pkgs/development/tools/swiftpm2nix/support.nix
index dfc2d01a45017..3debda233c5f4 100644
--- a/pkgs/development/tools/swiftpm2nix/support.nix
+++ b/pkgs/development/tools/swiftpm2nix/support.nix
@@ -1,6 +1,6 @@
 { lib, fetchgit, formats }:
-with lib;
 let
+  inherit (lib) concatStrings listToAttrs makeOverridable mapAttrsToList nameValuePair;
   json = formats.json { };
 in rec {
 
diff --git a/pkgs/development/tools/systemfd/default.nix b/pkgs/development/tools/systemfd/default.nix
index 001015af2d8b2..416c377490aef 100644
--- a/pkgs/development/tools/systemfd/default.nix
+++ b/pkgs/development/tools/systemfd/default.nix
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage {
   cargoSha256 = "sha256-UhfE9Q5E79rN2mjkNB5IAN/J0fbpoy9CmM6ojHQcFP0=";
 
   meta = {
-    description = "A convenient helper for passing sockets into another process";
+    description = "Convenient helper for passing sockets into another process";
     mainProgram = "systemfd";
     homepage = "https://github.com/mitsuhiko/systemfd";
     license = lib.licenses.asl20;
diff --git a/pkgs/development/tools/tailwindcss/default.nix b/pkgs/development/tools/tailwindcss/default.nix
index 7de95576050cc..b3f35596d533c 100644
--- a/pkgs/development/tools/tailwindcss/default.nix
+++ b/pkgs/development/tools/tailwindcss/default.nix
@@ -18,16 +18,16 @@ let
   }.${system} or throwSystem;
 
   hash = {
-    aarch64-darwin = "sha256-Wsys6Iagq/dwOKb+htMWosLL51blPxxq3PX8ioZ1UZw=";
-    aarch64-linux = "sha256-vXvhtfHd/Pg4Pv6X23Y9nC1OFUeju5vBn9SEOaI5G6E=";
-    armv7l-linux = "sha256-ZCqvztsUD+dom6HL/IejSjn9Cy/Rwnn7/QFxtW0XFoU=";
-    x86_64-darwin = "sha256-vVbDvu3R66AwCZgg75k1Mjp2oVsrkdMXtqHA5sdACEo=";
-    x86_64-linux = "sha256-POpm9f2HmGU4cBpVHHNCwpoK4+MTnu1Xxb2RUfZtq5Y=";
+    aarch64-darwin = "sha256-ubXwWgg4QAwM27meaIjT/HjgoVs9cVUiGNWoGRLktBI=";
+    aarch64-linux = "sha256-vd1hRTAGLI3Kv/FmYICKTSajyneh+F9vM1+gnqGthGs=";
+    armv7l-linux = "sha256-Jl5H+MZUMBZOBmHgzpM/S7lAY4F1KtRS0G7Vu7ORKgg=";
+    x86_64-darwin = "sha256-SL0DjE1ssPlypsWbhxq/YgSUYtdqOXkb6EktfmAAXkQ=";
+    x86_64-linux = "sha256-18MbsqzYcr9hsON5hZujEBzvi7vyQzpYZOCitYYq5HY=";
   }.${system} or throwSystem;
 in
 stdenv.mkDerivation rec {
   pname = "tailwindcss";
-  version = "3.4.3";
+  version = "3.4.4";
 
   src = fetchurl {
     url = "https://github.com/tailwindlabs/tailwindcss/releases/download/v${version}/tailwindcss-${plat}";
diff --git a/pkgs/development/tools/taplo/default.nix b/pkgs/development/tools/taplo/default.nix
index 2f497d6eb9319..6041f913b48b4 100644
--- a/pkgs/development/tools/taplo/default.nix
+++ b/pkgs/development/tools/taplo/default.nix
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
   buildFeatures = lib.optional withLsp "lsp";
 
   meta = with lib; {
-    description = "A TOML toolkit written in Rust";
+    description = "TOML toolkit written in Rust";
     homepage = "https://taplo.tamasfe.dev";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/development/tools/tapview/default.nix b/pkgs/development/tools/tapview/default.nix
index fa8b0d1a27742..cc121061df037 100644
--- a/pkgs/development/tools/tapview/default.nix
+++ b/pkgs/development/tools/tapview/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   makeFlags = [ "prefix=$(out)" ];
 
   meta = with lib; {
-    description = "A minimalist pure consumer for TAP (Test Anything Protocol)";
+    description = "Minimalist pure consumer for TAP (Test Anything Protocol)";
     mainProgram = "tapview";
     homepage = "https://gitlab.com/esr/tapview";
     license = licenses.bsd2;
diff --git a/pkgs/development/tools/teller/default.nix b/pkgs/development/tools/teller/default.nix
index a918e6759bfe2..16e44c4637c6c 100644
--- a/pkgs/development/tools/teller/default.nix
+++ b/pkgs/development/tools/teller/default.nix
@@ -1,70 +1,57 @@
-{ lib, buildGoModule, fetchFromGitHub, nix-update-script }:
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+  nix-update-script,
+  protobuf,
+  stdenv,
+  darwin,
+  pkg-config,
+  openssl,
+}:
 let
   pname = "teller";
-  version = "1.5.6";
-  date = "2022-10-13";
+  version = "2.0.7";
+  date = "2024-05-19";
 in
-buildGoModule {
+rustPlatform.buildRustPackage {
   inherit pname version;
 
   src = fetchFromGitHub {
     owner = "tellerops";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-vgrfWKKXf4C4qkbGiB3ndtJy1VyTx2NJs2QiOSFFZkE=";
+    hash = "sha256-CI74nMMTIPwjJfy7ASR19V6EbYZ62NoAOxlP3Xt2BuI=";
   };
 
-  vendorHash = null;
+  cargoHash = "sha256-iqZX+9l3TWrFuaQreNz4RrCgPQCyKJt6RJ1UeKYaNRs=";
 
-  # use make instead of default checks because e2e does not work with `buildGoDir`
-  checkPhase = ''
-    runHook preCheck
-    HOME="$(mktemp -d)"
-    # We do not set trimpath for tests, in case they reference test assets
-    export GOFLAGS=''${GOFLAGS//-trimpath/}
-
-    make test
-
-    # e2e tests can fail on first try
+  nativeBuildInputs = [
+    protobuf
+    pkg-config
+  ];
 
-    max_iteration=3
-    for i in $(seq 1 $max_iteration)
-    do
-      make e2e
-      result=$?
-      if [[ $result -eq 0 ]]
-      then
-        echo "e2e tests passed"
-        break
-      else
-        echo "e2e tests failed, retrying..."
-        sleep 1
-      fi
-    done
+  buildInputs = [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ];
 
-    if [[ $result -ne 0 ]]
-    then
-      echo "e2e tests failed after $max_iteration attempts"
-    fi
+  doCheck = false;
 
-    runHook postCheck
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/teller --version 2>&1 | grep ${version};
   '';
 
   passthru.updateScript = nix-update-script { };
 
-  ldflags = [
-    "-s"
-    "-w"
-    "-X main.version=${version}"
-    "-X main.commit=${version}"
-    "-X main.date=${date}"
-  ];
-
   meta = with lib; {
     homepage = "https://github.com/tellerops/teller/";
     description = "Cloud native secrets management for developers";
     mainProgram = "teller";
     license = licenses.asl20;
-    maintainers = with maintainers; [ wahtique ];
+    maintainers = with maintainers; [
+      cameronraysmith
+      wahtique
+    ];
   };
 }
diff --git a/pkgs/development/tools/tokio-console/default.nix b/pkgs/development/tools/tokio-console/default.nix
index c37bf85de9754..1d3029f340bad 100644
--- a/pkgs/development/tools/tokio-console/default.nix
+++ b/pkgs/development/tools/tokio-console/default.nix
@@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A debugger for asynchronous Rust code";
+    description = "Debugger for asynchronous Rust code";
     homepage = "https://github.com/tokio-rs/console";
     mainProgram = "tokio-console";
     license = with licenses; [ mit ];
diff --git a/pkgs/development/tools/toluapp/default.nix b/pkgs/development/tools/toluapp/default.nix
index 9a9acec172940..bc5e1f280b961 100644
--- a/pkgs/development/tools/toluapp/default.nix
+++ b/pkgs/development/tools/toluapp/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   patches = [ ./environ-and-linux-is-kinda-posix.patch ./headers.patch ];
 
   meta = with lib; {
-    description = "A tool to integrate C/Cpp code with Lua";
+    description = "Tool to integrate C/Cpp code with Lua";
     homepage = "http://www.codenix.com/~tolua/";
     license = licenses.mit;
     maintainers = with maintainers; [ vrthra ];
diff --git a/pkgs/development/tools/toml2json/default.nix b/pkgs/development/tools/toml2json/default.nix
index 4d7fed800e213..a24eae7141f43 100644
--- a/pkgs/development/tools/toml2json/default.nix
+++ b/pkgs/development/tools/toml2json/default.nix
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-laOM7LpmsCpLcm4kPRsJiXHoKR58RCuQxVO5Z78beWI=";
 
   meta = with lib; {
-    description = "A very small CLI for converting TOML to JSON";
+    description = "Very small CLI for converting TOML to JSON";
     mainProgram = "toml2json";
     homepage = "https://github.com/woodruffw/toml2json";
     license = with licenses; [ mit ];
diff --git a/pkgs/development/tools/toml2nix/default.nix b/pkgs/development/tools/toml2nix/default.nix
index 60eb3901318f1..ac971435bc418 100644
--- a/pkgs/development/tools/toml2nix/default.nix
+++ b/pkgs/development/tools/toml2nix/default.nix
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A tool to convert TOML files to Nix expressions";
+    description = "Tool to convert TOML files to Nix expressions";
     mainProgram = "toml2nix";
     homepage = "https://crates.io/crates/toml2nix";
     license = with licenses; [ mit /* or */ asl20 ];
diff --git a/pkgs/development/tools/tracy/0001-remove-unifiedtypeidentifiers-framework b/pkgs/development/tools/tracy/0001-remove-unifiedtypeidentifiers-framework
deleted file mode 100644
index 0dc5a7eb68f16..0000000000000
--- a/pkgs/development/tools/tracy/0001-remove-unifiedtypeidentifiers-framework
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/profiler/build/unix/legacy.mk b/profiler/build/unix/legacy.mk
-index 24765f1a..8baffb68 100644
---- a/profiler/build/unix/legacy.mk
-+++ b/profiler/build/unix/legacy.mk
-@@ -16,7 +16,7 @@ else
- 	UNAME := $(shell uname -s)
- 	ifeq ($(UNAME),Darwin)
- 		SRC3 += ../../../nfd/nfd_cocoa.m
--		LIBS +=  -framework CoreFoundation -framework AppKit -framework UniformTypeIdentifiers
-+		LIBS +=  -framework CoreFoundation -framework AppKit
- 	else
- 		ifdef TRACY_GTK_FILESELECTOR
- 			SRC += ../../../nfd/nfd_gtk.cpp
diff --git a/pkgs/development/tools/tracy/default.nix b/pkgs/development/tools/tracy/default.nix
deleted file mode 100644
index 4c86ea2fb9cbe..0000000000000
--- a/pkgs/development/tools/tracy/default.nix
+++ /dev/null
@@ -1,111 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-
-, capstone
-, darwin
-, dbus
-, freetype
-, glfw
-, hicolor-icon-theme
-, pkg-config
-, tbb
-}:
-
-stdenv.mkDerivation rec {
-  pname = "tracy";
-  version = "0.10";
-
-  src = fetchFromGitHub {
-    owner = "wolfpld";
-    repo = "tracy";
-    rev = "v${version}";
-    sha256 = "sha256-DN1ExvQ5wcIUyhMAfiakFbZkDsx+5l8VMtYGvSdboPA=";
-  };
-
-  patches = lib.optionals (stdenv.isDarwin && !(lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11")) [
-    ./0001-remove-unifiedtypeidentifiers-framework
-  ];
-
-  nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = [
-    capstone
-    freetype
-    glfw
-  ] ++ lib.optionals stdenv.isLinux [
-    dbus
-    hicolor-icon-theme
-    tbb
-  ] ++ lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.AppKit
-    darwin.apple_sdk.frameworks.Carbon
-  ] ++ lib.optionals (stdenv.isDarwin && lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") [
-    darwin.apple_sdk.frameworks.UniformTypeIdentifiers
-  ];
-
-  env.NIX_CFLAGS_COMPILE = toString ([ ]
-    # Apple's compiler finds a format string security error on
-    # ../../../server/TracyView.cpp:649:34, preventing building.
-    ++ lib.optional stdenv.isDarwin "-Wno-format-security"
-    ++ lib.optional stdenv.isLinux "-ltbb"
-    ++ lib.optional stdenv.cc.isClang "-faligned-allocation"
-    # workaround issue #19098
-    ++ lib.optional (stdenv.cc.isClang && stdenv.isDarwin) "-fno-lto");
-
-  buildPhase = ''
-    runHook preBuild
-
-    make -j $NIX_BUILD_CORES -C capture/build/unix release
-    make -j $NIX_BUILD_CORES -C csvexport/build/unix release
-    make -j $NIX_BUILD_CORES -C import-chrome/build/unix release
-    make -j $NIX_BUILD_CORES -C library/unix release
-    make -j $NIX_BUILD_CORES -C profiler/build/unix release LEGACY=1
-    make -j $NIX_BUILD_CORES -C update/build/unix release
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    install -D -m 0755 capture/build/unix/capture-release $out/bin/capture
-    install -D -m 0755 csvexport/build/unix/csvexport-release $out/bin/tracy-csvexport
-    install -D -m 0755 import-chrome/build/unix/import-chrome-release $out/bin/import-chrome
-    install -D -m 0755 library/unix/libtracy-release.so $out/lib/libtracy.so
-    install -D -m 0755 profiler/build/unix/Tracy-release $out/bin/tracy
-    install -D -m 0755 update/build/unix/update-release $out/bin/update
-
-    mkdir -p $out/include/Tracy/client
-    mkdir -p $out/include/Tracy/common
-    mkdir -p $out/include/Tracy/tracy
-
-    cp -p public/client/*.{h,hpp} $out/include/Tracy/client
-    cp -p public/common/*.{h,hpp} $out/include/Tracy/common
-    cp -p public/tracy/*.{h,hpp} $out/include/Tracy/tracy
-  '' + lib.optionalString stdenv.isLinux ''
-    substituteInPlace extra/desktop/tracy.desktop \
-      --replace Exec=/usr/bin/tracy Exec=tracy
-
-    install -D -m 0644 extra/desktop/application-tracy.xml $out/share/mime/packages/application-tracy.xml
-    install -D -m 0644 extra/desktop/tracy.desktop $out/share/applications/tracy.desktop
-    install -D -m 0644 icon/application-tracy.svg $out/share/icons/hicolor/scalable/apps/application-tracy.svg
-    install -D -m 0644 icon/icon.png $out/share/icons/hicolor/256x256/apps/tracy.png
-    install -D -m 0644 icon/icon.svg $out/share/icons/hicolor/scalable/apps/tracy.svg
-  '' + ''
-    runHook postInstall
-  '';
-
-  postFixup = lib.optionalString stdenv.isDarwin ''
-    install_name_tool -change libcapstone.4.dylib ${capstone}/lib/libcapstone.4.dylib $out/bin/tracy
-  '';
-
-  meta = with lib; {
-    description = "A real time, nanosecond resolution, remote telemetry frame profiler for games and other applications";
-    homepage = "https://github.com/wolfpld/tracy";
-    platforms = platforms.linux ++ platforms.darwin;
-    license = licenses.bsd3;
-    mainProgram = "tracy";
-    maintainers = with maintainers; [ mpickering nagisa paveloom ];
-  };
-}
diff --git a/pkgs/development/tools/tradcpp/default.nix b/pkgs/development/tools/tradcpp/default.nix
index 73d0cf5e81a46..b26db0d22356d 100644
--- a/pkgs/development/tools/tradcpp/default.nix
+++ b/pkgs/development/tools/tradcpp/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A traditional (K&R-style) C macro preprocessor";
+    description = "Traditional (K&R-style) C macro preprocessor";
     mainProgram = "tradcpp";
     platforms = platforms.all;
     license = licenses.bsd2;
diff --git a/pkgs/development/tools/treefmt/default.nix b/pkgs/development/tools/treefmt/default.nix
deleted file mode 100644
index 48fc4b44962e8..0000000000000
--- a/pkgs/development/tools/treefmt/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, rustPlatform, fetchFromGitHub }:
-rustPlatform.buildRustPackage rec {
-  pname = "treefmt";
-  version = "0.6.1";
-
-  src = fetchFromGitHub {
-    owner = "numtide";
-    repo = "treefmt";
-    rev = "v${version}";
-    hash = "sha256-icAe54Mv1xpOjUPSk8QDZaMk2ueNvjER6UyJ9uyUL6s=";
-  };
-
-  cargoSha256 = "sha256-bpNIGuh74nwEmHPeXtPmsML9vJOb00xkdjK0Nd7esAc=";
-
-  meta = {
-    description = "one CLI to format the code tree";
-    homepage = "https://github.com/numtide/treefmt";
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.zimbatm ];
-    mainProgram = "treefmt";
-  };
-}
diff --git a/pkgs/development/tools/trunk/default.nix b/pkgs/development/tools/trunk/default.nix
index 39662c40edc12..0de59f4256e1c 100644
--- a/pkgs/development/tools/trunk/default.nix
+++ b/pkgs/development/tools/trunk/default.nix
@@ -12,13 +12,13 @@ SystemConfiguration
 
 rustPlatform.buildRustPackage rec {
   pname = "trunk";
-  version = "0.18.8";
+  version = "0.20.2";
 
   src = fetchFromGitHub {
     owner = "trunk-rs";
     repo = "trunk";
     rev = "v${version}";
-    hash = "sha256-cx14IVqsu1SQezs8T1HFZ75+MPWkvf5RcvGCodW5G4A=";
+    hash = "sha256-hyjv3UJWIfJjdGtju4T6ufhz97F76uib/B9kyBHsC64=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -28,28 +28,7 @@ rustPlatform.buildRustPackage rec {
   # requires network
   checkFlags = [ "--skip=tools::tests::download_and_install_binaries" ];
 
-  cargoHash = "sha256-zMkRCNFrfkUvq6oz/7GtaWNw9YS5NygBUYzoOAoQl40=";
-
-  # the dependency css-minify contains both README.md and Readme.md,
-  # which causes a hash mismatch on systems with a case-insensitive filesystem
-  # this removes the readme files and updates cargo's checksum file accordingly
-  depsExtraArgs = {
-    nativeBuildInputs = [
-      jq
-      moreutils
-    ];
-
-    postBuild = ''
-      pushd $name/css-minify
-
-      rm -f README.md Readme.md
-      jq 'del(.files."README.md") | del(.files."Readme.md")' \
-        .cargo-checksum.json -c \
-        | sponge .cargo-checksum.json
-
-      popd
-    '';
-  };
+  cargoHash = "sha256-BI/jA5/7/QP62EtOXXRkbsJILsHbVacZY/bKZGcXk34=";
 
   meta = with lib; {
     homepage = "https://github.com/trunk-rs/trunk";
diff --git a/pkgs/development/tools/turbogit/default.nix b/pkgs/development/tools/turbogit/default.nix
index 2680d10f1dbb8..390b618ce7198 100644
--- a/pkgs/development/tools/turbogit/default.nix
+++ b/pkgs/development/tools/turbogit/default.nix
@@ -30,7 +30,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "Keep your git workflow clean without headache.";
+    description = "Keep your git workflow clean without headache";
     longDescription = ''
       turbogit (tug) is a cli tool built to help you deal with your day-to-day git work.
       turbogit enforces convention (e.g. The Conventional Commits) but tries to keep things simple and invisible for you.
diff --git a/pkgs/development/tools/turso-cli/default.nix b/pkgs/development/tools/turso-cli/default.nix
index 4b93bbd8442eb..7fe099fd69c4c 100644
--- a/pkgs/development/tools/turso-cli/default.nix
+++ b/pkgs/development/tools/turso-cli/default.nix
@@ -8,13 +8,13 @@
 }:
 buildGoModule rec {
   pname = "turso-cli";
-  version = "0.93.0";
+  version = "0.95.0";
 
   src = fetchFromGitHub {
     owner = "tursodatabase";
     repo = "turso-cli";
     rev = "v${version}";
-    hash = "sha256-Q5SVudzJZJ5ftp5Xfeb75XQO44upGKlxQ/WceSSwHyU=";
+    hash = "sha256-9QrDtqF9A3UhStKtwkq/FCULoJQz+RjS7yEolZbBLCw=";
   };
 
   vendorHash = "sha256-2NjdjB09WYzHjQEl2hMUWN1/xsj/Hlr8lVYU/pkxTqQ=";
@@ -39,7 +39,7 @@ buildGoModule rec {
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
-    description = "This is the command line interface (CLI) to Turso.";
+    description = "This is the command line interface (CLI) to Turso";
     homepage = "https://turso.tech";
     mainProgram = "turso";
     license = licenses.mit;
diff --git a/pkgs/development/tools/twiggy/default.nix b/pkgs/development/tools/twiggy/default.nix
deleted file mode 100644
index 25d8ab244d9ef..0000000000000
--- a/pkgs/development/tools/twiggy/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib
-, fetchCrate
-, rustPlatform }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "twiggy";
-  version = "0.7.0";
-
-  src = fetchCrate {
-    inherit pname version;
-    sha256 = "sha256-NbtS7A5Zl8634Q3xyjVzNraNszjt1uIXqmctArfnqkk=";
-  };
-
-  cargoSha256 = "sha256-94pfhVZ0CNMn+lCl5O+wOyE+D6fVXbH4NAPx92nMNbM=";
-
-  meta = with lib; {
-    homepage = "https://rustwasm.github.io/twiggy/";
-    description = "A code size profiler for Wasm";
-    mainProgram = "twiggy";
-    license = with licenses; [ asl20 mit ];
-    maintainers = with maintainers; [ lucperkins ];
-  };
-}
diff --git a/pkgs/development/tools/twilio-cli/default.nix b/pkgs/development/tools/twilio-cli/default.nix
index 414a855bea11d..fe0544b671378 100644
--- a/pkgs/development/tools/twilio-cli/default.nix
+++ b/pkgs/development/tools/twilio-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "twilio-cli";
-  version = "5.19.4";
+  version = "5.21.0";
 
   src = fetchzip {
     url = "https://twilio-cli-prod.s3.amazonaws.com/twilio-v${finalAttrs.version}/twilio-v${finalAttrs.version}.tar.gz";
-    hash = "sha256-dSM3B9C+H0sTnxCkElDXKWUxNtctW1Jgh/nRFWEXc2A=";
+    hash = "sha256-rtI89baKJS4itwTcHY9IjKeskQO6mz/c746wdVy4cG4=";
   };
 
   buildInputs = [ nodejs-slim ];
diff --git a/pkgs/development/tools/twitch-cli/default.nix b/pkgs/development/tools/twitch-cli/default.nix
index 8417bf10a5d20..d9eab6a35691d 100644
--- a/pkgs/development/tools/twitch-cli/default.nix
+++ b/pkgs/development/tools/twitch-cli/default.nix
@@ -41,7 +41,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "The official Twitch CLI to make developing on Twitch easier";
+    description = "Official Twitch CLI to make developing on Twitch easier";
     mainProgram = "twitch-cli";
     homepage = "https://github.com/twitchdev/twitch-cli";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix
index 37a096c0d758c..b70e8448717b6 100644
--- a/pkgs/development/tools/typos/default.nix
+++ b/pkgs/development/tools/typos/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typos";
-  version = "1.21.0";
+  version = "1.22.7";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PvMa2hQYDu42ZzwBZrMQZy48RxUzHMvlLYEzPN3sh1w=";
+    hash = "sha256-417z9N8oC0kIqBs63fP/xdry5EFmlnyWDryKaJITtZQ=";
   };
 
-  cargoHash = "sha256-P7pzyfv+0ckzVjC95a+YW6Ni3sLnqgjoZ4JlnfKO17M=";
+  cargoHash = "sha256-Ol/pk3/9StHzEFHXcsSS9APUXf8hjnY7fwmF1mWtsVE=";
 
   meta = with lib; {
     description = "Source code spell checker";
diff --git a/pkgs/development/tools/unconvert/default.nix b/pkgs/development/tools/unconvert/default.nix
index 21c0d08ab5ac8..478a111555a61 100644
--- a/pkgs/development/tools/unconvert/default.nix
+++ b/pkgs/development/tools/unconvert/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "unconvert";
-  version = "unstable-2022-09-18";
+  version = "0-unstable-2023-09-07";
 
   src = fetchFromGitHub {
     owner = "mdempsky";
     repo = "unconvert";
-    rev = "3f84926d692329767c21c2aef3dfb7889c956832";
-    sha256 = "sha256-vcRHriFCT5b8SKjtRSg+kZDcCAKySC1cKVq+FMZb+9M=";
+    rev = "415706980c061b6f71ea923bd206aec88785638f";
+    hash = "sha256-MchA8uvy+MyQ/VaglBDTC7j/lNIKAtGeeECLoFfH6pI=";
   };
 
-  vendorHash = "sha256-p77mLvGtohmC8J+bqqkM5kqc1pMPcFx7GhXOZ4q4jeM=";
+  vendorHash = "sha256-vZDk+ZNCMP5RRNrgeIowdOKPot7rqM84JhlbfvcQbB4=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/development/tools/upbound/default.nix b/pkgs/development/tools/upbound/default.nix
deleted file mode 100644
index 92031aa6dddf0..0000000000000
--- a/pkgs/development/tools/upbound/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "upbound";
-  version = "0.28.0";
-
-  src = fetchFromGitHub {
-    owner = pname;
-    repo = "up";
-    rev = "v${version}";
-    sha256 = "sha256-74kmEjJTcFYRgbuH8hFPS+sadVWk7FkFE+MrapQw/lw=";
-  };
-
-  vendorHash = "sha256-hNEM8U+3T4biEqGoN2ClKLSgKlfT/eoUkQQGiTrR2vM=";
-
-  subPackages = [ "cmd/docker-credential-up" "cmd/up" ];
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X github.com/upbound/up/internal/version.version=v${version}"
-  ];
-
-  meta = with lib; {
-    description =
-      "CLI for interacting with Upbound Cloud, Upbound Enterprise, and Universal Crossplane (UXP)";
-    homepage = "https://upbound.io";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ lucperkins ];
-    mainProgram = "up";
-  };
-}
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index d8a8777aa200a..064f1cf6baaa0 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -113,7 +113,7 @@ in buildRubyGem rec {
   };
 
   meta = with lib; {
-    description = "A tool for building complete development environments";
+    description = "Tool for building complete development environments";
     homepage = "https://www.vagrantup.com/";
     license = licenses.bsl11;
     maintainers = with maintainers; [ tylerjl ];
diff --git a/pkgs/development/tools/vala-lint/default.nix b/pkgs/development/tools/vala-lint/default.nix
index bb063fdfe32e9..8fd63f6e30a3f 100644
--- a/pkgs/development/tools/vala-lint/default.nix
+++ b/pkgs/development/tools/vala-lint/default.nix
@@ -15,7 +15,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vala-lint";
-  version = "unstable-2023-12-05";
+  version = "0-unstable-2023-12-05";
 
   src = fetchFromGitHub {
     owner = "vala-lang";
diff --git a/pkgs/development/tools/vendir/default.nix b/pkgs/development/tools/vendir/default.nix
index 187f8ea856ba2..565c4f70def09 100644
--- a/pkgs/development/tools/vendir/default.nix
+++ b/pkgs/development/tools/vendir/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vendir";
-  version = "0.40.1";
+  version = "0.40.2";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-vendir";
     rev = "v${version}";
-    sha256 = "sha256-v+p3I0PJc+7vgZqQA/dClv/GqOQTniwWHxXQamM+8oo=";
+    sha256 = "sha256-cGcp7bMdxZrg+4ni5kX4jEq2Aybfmonna0jM1Ux6s9Q=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/viceroy/default.nix b/pkgs/development/tools/viceroy/default.nix
index 6dff9bf9037f5..e4aa62b99ff30 100644
--- a/pkgs/development/tools/viceroy/default.nix
+++ b/pkgs/development/tools/viceroy/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "viceroy";
-  version = "0.9.6";
+  version = "0.9.7";
 
   src = fetchFromGitHub {
     owner = "fastly";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-tJLx/dts7C5yupJX2jkRiAQumlPtlg2HzFx11jQczzE=";
+    hash = "sha256-oPeHu/EVcGFE7sSwmMWHnT+xAxayZlfyIk/sM64Q+Hw=";
   };
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
-  cargoHash = "sha256-LMdi1Xx6Tq8q+DQHpNDwmtQO+8hiVXjEP7fDIpbN2DU=";
+  cargoHash = "sha256-z24qvgej2bWq0T4OgRnALJda4xGf5/s1O4ij2igCeyU=";
 
   cargoTestFlags = [
     "--package viceroy-lib"
diff --git a/pkgs/development/tools/vndr/default.nix b/pkgs/development/tools/vndr/default.nix
deleted file mode 100644
index 29668e3097e7c..0000000000000
--- a/pkgs/development/tools/vndr/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
-
-buildGoPackage rec {
-  pname = "vndr-unstable";
-  version = "2020-07-28";
-  rev = "f12b881cb8f081a5058408a58f429b9014833fc6";
-
-  goPackagePath = "github.com/LK4D4/vndr";
-  excludedPackages = "test";
-
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "LK4D4";
-    repo = "vndr";
-    sha256 = "04za4x8p8qzwjlp4i0j0gsb4xx0x9f4yp3ab0b97r50pah1ac2g3";
-  };
-
-  meta = {
-    description = "Stupid golang vendoring tool, inspired by docker vendor script";
-    mainProgram = "vndr";
-    homepage = "https://github.com/LK4D4/vndr";
-    maintainers = with lib.maintainers; [ vdemeester rvolosatovs ];
-    license = lib.licenses.asl20;
-  };
-}
diff --git a/pkgs/development/tools/volta/default.nix b/pkgs/development/tools/volta/default.nix
index b61347c05f2e4..e67df485b7f4e 100644
--- a/pkgs/development/tools/volta/default.nix
+++ b/pkgs/development/tools/volta/default.nix
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage rec {
       --zsh <($out/bin/volta completions zsh)
   '';
   meta = with lib; {
-    description = "The Hassle-Free JavaScript Tool Manager";
+    description = "Hassle-Free JavaScript Tool Manager";
     longDescription = ''
       With Volta, you can select a Node engine once and then stop worrying
       about it. You can switch between projects and stop having to manually
diff --git a/pkgs/development/tools/vsce/default.nix b/pkgs/development/tools/vsce/default.nix
index a2be7f3abde52..a5002fdabc372 100644
--- a/pkgs/development/tools/vsce/default.nix
+++ b/pkgs/development/tools/vsce/default.nix
@@ -12,16 +12,16 @@
 
 buildNpmPackage rec {
   pname = "vsce";
-  version = "2.26.0";
+  version = "2.28.0";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "vscode-vsce";
     rev = "v${version}";
-    hash = "sha256-ILu09OerH5XNVN4el3R2GH2LtIzXiQ/ONU+W2pomHRg=";
+    hash = "sha256-LMePEsNU62oSp/aaeUZY7A+0rTHiYOBqWBiqSpXUJOY=";
   };
 
-  npmDepsHash = "sha256-EtzcWeqPy4XVlheBXBpSwxrsHJ678lhTgnYqzIYZn4M=";
+  npmDepsHash = "sha256-Ml65YY4vqzntgCP9FoEGpR5rMkYL+alN9pSpbvR28E0=";
 
   postPatch = ''
     substituteInPlace package.json --replace '"version": "0.0.0"' '"version": "${version}"'
diff --git a/pkgs/development/tools/vulkan-validation-layers/default.nix b/pkgs/development/tools/vulkan-validation-layers/default.nix
index c40a6bbb6e78f..57891ca16155d 100644
--- a/pkgs/development/tools/vulkan-validation-layers/default.nix
+++ b/pkgs/development/tools/vulkan-validation-layers/default.nix
@@ -23,13 +23,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "vulkan-validation-layers";
-  version = "1.3.280.0";
+  version = "1.3.283.0";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "Vulkan-ValidationLayers";
     rev = "vulkan-sdk-${version}";
-    hash = "sha256-jBiVbLRbAZEEU8ZYg9Ehx4b5hDJoi7+LnN++zKLSzvA=";
+    hash = "sha256-OT9VfGg3+NBVV6SCGZ+Hu9FAxGJXXT45yvt2sHDIFTA=";
   };
 
   nativeBuildInputs = [
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "The official Khronos Vulkan validation layers";
+    description = "Official Khronos Vulkan validation layers";
     homepage    = "https://github.com/KhronosGroup/Vulkan-ValidationLayers";
     platforms   = platforms.linux;
     license     = licenses.asl20;
diff --git a/pkgs/development/tools/vulkan-validation-layers/robin-hood-hashing.nix b/pkgs/development/tools/vulkan-validation-layers/robin-hood-hashing.nix
index cd08f0231ab20..9951d63b019cd 100644
--- a/pkgs/development/tools/vulkan-validation-layers/robin-hood-hashing.nix
+++ b/pkgs/development/tools/vulkan-validation-layers/robin-hood-hashing.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A faster, more efficient replacement for std::unordered_map / std::unordered_set";
+    description = "Faster, more efficient replacement for std::unordered_map / std::unordered_set";
     homepage    = "https://github.com/martinus/robin-hood-hashing";
     platforms   = platforms.linux;
     license     = licenses.mit;
diff --git a/pkgs/development/tools/vultr-cli/default.nix b/pkgs/development/tools/vultr-cli/default.nix
index c380a2c45bc84..b6afbdf4df717 100644
--- a/pkgs/development/tools/vultr-cli/default.nix
+++ b/pkgs/development/tools/vultr-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "vultr-cli";
-  version = "3.0.3";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "vultr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-6OVigI2eHE8qFC5nmH67NcKkDD0iFXl3ynYJyFcpmGw=";
+    hash = "sha256-iMd/PXcLa3Z5yNsebub0MSZvionm6ERNlBJANvymP7Y=";
   };
 
-  vendorHash = "sha256-MDzYiLMYoR9qOTPVnlzTDbgVvg72HDP2DpM6NKUFNdg=";
+  vendorHash = "sha256-sBG6T+wVEFvgNdPJt5Fe7SIzetkxAqGW7VgyXV7wUSs=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/wabt/default.nix b/pkgs/development/tools/wabt/default.nix
index 64b8f4dd474c7..c6541eb5b30aa 100644
--- a/pkgs/development/tools/wabt/default.nix
+++ b/pkgs/development/tools/wabt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wabt";
-  version = "1.0.34";
+  version = "1.0.35";
 
   src = fetchFromGitHub {
     owner = "WebAssembly";
     repo = "wabt";
     rev = version;
-    sha256 = "sha256-KlaMc3k1y6KviMDrMbKPcJOywJasrPZrnvSos8hgu+8=";
+    sha256 = "sha256-oWyHR2HRDA/N5Rm9EXhOi+lZ2N7In6HmE74ZL2Nyu9A=";
     fetchSubmodules = true;
   };
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [ "-DBUILD_TESTS=OFF" "-DCMAKE_PROJECT_VERSION=${version}" ];
 
   meta = with lib; {
-    description = "The WebAssembly Binary Toolkit";
+    description = "WebAssembly Binary Toolkit";
     longDescription = ''
       WABT (pronounced "wabbit") is a suite of tools for WebAssembly, including:
        * wat2wasm: translate from WebAssembly text format to the WebAssembly
diff --git a/pkgs/development/tools/wails/default.nix b/pkgs/development/tools/wails/default.nix
index 7ebd579ae2df3..9a158be022f39 100644
--- a/pkgs/development/tools/wails/default.nix
+++ b/pkgs/development/tools/wails/default.nix
@@ -14,16 +14,16 @@
 
 buildGoModule rec {
   pname = "wails";
-  version = "2.8.1";
+  version = "2.8.2";
 
   src = fetchFromGitHub {
     owner = "wailsapp";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-yIoCKnYKky+BlMjGBNRk0lKyxr3UWMdRsvyW2KUItBk=";
+    hash = "sha256-oJ/kxYphBTXxt7Da1x4GW/a78YV+m32iC/4N3MDjU/A=";
   } + "/v2";
 
-  vendorHash = "sha256-6QFnLuRnSzIqkQkK1qg7VBYxwjK8fSQWz5RxpuyutoY=";
+  vendorHash = "sha256-15Vo4AKmd9qOF0ea1klTlrXJOUs+IHvsNT2rw4R7ZiU=";
 
   proxyVendor = true;
 
diff --git a/pkgs/development/tools/wally-cli/default.nix b/pkgs/development/tools/wally-cli/default.nix
index b0f3375984b44..a608b42dc0d57 100644
--- a/pkgs/development/tools/wally-cli/default.nix
+++ b/pkgs/development/tools/wally-cli/default.nix
@@ -20,7 +20,7 @@ buildGoModule rec {
   vendorHash = "sha256-HffgkuKmaOjTYi+jQ6vBlC50JqqbYiikURT6TCqL7e0=";
 
   meta = with lib; {
-    description = "A tool to flash firmware to mechanical keyboards";
+    description = "Tool to flash firmware to mechanical keyboards";
     mainProgram = "wally-cli";
     homepage = "https://ergodox-ez.com/pages/wally-planck";
     platforms = with platforms; linux ++ darwin;
diff --git a/pkgs/development/tools/wasm-pack/default.nix b/pkgs/development/tools/wasm-pack/default.nix
index 4354019aa0be0..94c1ae6e01ed6 100644
--- a/pkgs/development/tools/wasm-pack/default.nix
+++ b/pkgs/development/tools/wasm-pack/default.nix
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A utility that builds rust-generated WebAssembly package";
+    description = "Utility that builds rust-generated WebAssembly package";
     mainProgram = "wasm-pack";
     homepage = "https://github.com/rustwasm/wasm-pack";
     license = with licenses; [ asl20 /* or */ mit ];
diff --git a/pkgs/development/tools/wasmedge/default.nix b/pkgs/development/tools/wasmedge/default.nix
index 4346b51efac89..938fcba2da2e9 100644
--- a/pkgs/development/tools/wasmedge/default.nix
+++ b/pkgs/development/tools/wasmedge/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "wasmedge";
-  version = "0.13.5";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "WasmEdge";
     repo = "WasmEdge";
     rev = finalAttrs.version;
-    sha256 = "sha256-JaFaqYIwcRXYl5JukAfViUn8VTpMPThFO8EaVTPIudA=";
+    sha256 = "sha256-JPuJIM5OU1qCvFZEQ3gDNBZsIiJijtWLAVGp54z7lt0=";
   };
 
   nativeBuildInputs = [
@@ -56,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     homepage = "https://wasmedge.org/";
     license = with licenses; [ asl20 ];
-    description = "A lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications";
+    description = "Lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications";
     maintainers = with maintainers; [ dit7ya ];
     platforms = platforms.all;
   };
diff --git a/pkgs/development/tools/wasmi/default.nix b/pkgs/development/tools/wasmi/default.nix
index 4af59590722a9..558a27cce29ae 100644
--- a/pkgs/development/tools/wasmi/default.nix
+++ b/pkgs/development/tools/wasmi/default.nix
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "An efficient WebAssembly interpreter";
+    description = "Efficient WebAssembly interpreter";
     homepage = "https://github.com/paritytech/wasmi";
     changelog = "https://github.com/paritytech/wasmi/blob/${src.rev}/CHANGELOG.md";
     license = with licenses; [ asl20 mit ];
diff --git a/pkgs/development/tools/wasmserve/default.nix b/pkgs/development/tools/wasmserve/default.nix
index 1372534d05e5a..530dd613d51e7 100644
--- a/pkgs/development/tools/wasmserve/default.nix
+++ b/pkgs/development/tools/wasmserve/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
   vendorHash = null;
 
   meta = with lib; {
-    description = "An HTTP server for testing Wasm";
+    description = "HTTP server for testing Wasm";
     mainProgram = "wasmserve";
     homepage = "https://github.com/hajimehoshi/wasmserve";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/web-ext/default.nix b/pkgs/development/tools/web-ext/default.nix
index bb9cda866e7f2..2c1688e38c021 100644
--- a/pkgs/development/tools/web-ext/default.nix
+++ b/pkgs/development/tools/web-ext/default.nix
@@ -7,16 +7,16 @@
 
 buildNpmPackage rec {
   pname = "web-ext";
-  version = "7.11.0";
+  version = "8.0.0";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "web-ext";
     rev = version;
-    hash = "sha256-tXYqAAzxAFQGREkNGgBrHLp7ukRDMtr0bPYW7hOEniY=";
+    hash = "sha256-lMfvD5EVWpDcX54nJI3eReF/EMMuZYxtKdHKwk4Lrxk=";
   };
 
-  npmDepsHash = "sha256-uKAEWe28zUgE7Fv00sGXD5dKje/pHh22yJlYtk+7tN8=";
+  npmDepsHash = "sha256-RVyIpzVom48/avot9bbjXYg2E5+b3GlCHaKNfMEk968=";
 
   npmBuildFlags = [ "--production" ];
 
@@ -26,7 +26,7 @@ buildNpmPackage rec {
   '';
 
   meta = {
-    description = "A command line tool to help build, run, and test web extensions";
+    description = "Command line tool to help build, run, and test web extensions";
     homepage = "https://github.com/mozilla/web-ext";
     license = lib.licenses.mpl20;
     mainProgram = "web-ext";
diff --git a/pkgs/development/tools/wgo/default.nix b/pkgs/development/tools/wgo/default.nix
index e6a848a57a514..863d53bb09716 100644
--- a/pkgs/development/tools/wgo/default.nix
+++ b/pkgs/development/tools/wgo/default.nix
@@ -5,7 +5,7 @@
 
 let
   pname = "wgo";
-  version = "0.5.6c";
+  version = "0.5.6d";
 in
 buildGoModule {
   inherit pname version;
@@ -14,7 +14,7 @@ buildGoModule {
     owner = "bokwoon95";
     repo = "wgo";
     rev = "v${version}";
-    hash = "sha256-/blUmuUbM+GhczKj731TeYQN1BOunpQs6q3K/4FQiE8=";
+    hash = "sha256-PzBje046mS844zpU5X1eoRcULJH8sh49yf8lrxeA764=";
   };
 
   vendorHash = "sha256-w6UJxZToHbbQmuXkyqFzyssFcE+7uVNqOuIF/XKdEsU=";
diff --git a/pkgs/development/tools/wire/default.nix b/pkgs/development/tools/wire/default.nix
index 540f5c6a845e9..c1099d0691696 100644
--- a/pkgs/development/tools/wire/default.nix
+++ b/pkgs/development/tools/wire/default.nix
@@ -25,7 +25,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/google/wire";
-    description = "A code generation tool that automates connecting components using dependency injection";
+    description = "Code generation tool that automates connecting components using dependency injection";
     mainProgram = "wire";
     license = licenses.asl20;
     maintainers = with maintainers; [ svrana ];
diff --git a/pkgs/development/tools/wizer/default.nix b/pkgs/development/tools/wizer/default.nix
deleted file mode 100644
index 7a46d673af9c9..0000000000000
--- a/pkgs/development/tools/wizer/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib
-, stdenv
-, rustPlatform
-, fetchFromGitHub
-, testers
-, wizer
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "wizer";
-  version = "6.0.0";
-
-  # the crate does not contain files which are necessary for the tests
-  # see https://github.com/bytecodealliance/wizer/commit/3a95e27ce42f1fdaef07b52988e4699eaa221e04
-  src = fetchFromGitHub {
-    owner = "bytecodealliance";
-    repo = "wizer";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-JQrZysQJOM4G5EwyBlXXd7NTCCoGkOLDahwH0I1b0TY=";
-  };
-
-  cargoHash = "sha256-qMBsk8dLmneAYx8FJ9QqW0kLKFTn11EvV9VeVJkr5FU=";
-
-  cargoBuildFlags = [ "--bin" pname ];
-
-  buildFeatures = [ "env_logger" "structopt" ];
-
-  # Setting $HOME to a temporary directory is necessary to prevent checks from failing, as
-  # the test suite creates a cache directory at $HOME/Library/Caches/BytecodeAlliance.wasmtime.
-  preCheck = ''
-    export HOME=$(mktemp -d)
-  '';
-
-  passthru.tests = {
-    version = testers.testVersion { package = wizer; };
-  };
-
-  meta = with lib; {
-    description = "The WebAssembly pre-initializer";
-    mainProgram = "wizer";
-    homepage = "https://github.com/bytecodealliance/wizer";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ lucperkins amesgen ];
-  };
-}
diff --git a/pkgs/development/tools/wllvm/default.nix b/pkgs/development/tools/wllvm/default.nix
index 7bb63a192e4d4..32c09f4c53888 100644
--- a/pkgs/development/tools/wllvm/default.nix
+++ b/pkgs/development/tools/wllvm/default.nix
@@ -11,7 +11,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "https://github.com/travitch/whole-program-llvm";
-    description = "A wrapper script to build whole-program LLVM bitcode files";
+    description = "Wrapper script to build whole-program LLVM bitcode files";
     license = licenses.mit;
     maintainers = with maintainers; [ mic92 dtzWill ];
     platforms = platforms.all;
diff --git a/pkgs/development/tools/worker-build/default.nix b/pkgs/development/tools/worker-build/default.nix
index 8f78048e8e19a..fd7c1e378603c 100644
--- a/pkgs/development/tools/worker-build/default.nix
+++ b/pkgs/development/tools/worker-build/default.nix
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "This is a tool to be used as a custom build command for a Cloudflare Workers `workers-rs` project.";
+    description = "This is a tool to be used as a custom build command for a Cloudflare Workers `workers-rs` project";
     mainProgram = "worker-build";
     homepage = "https://github.com/cloudflare/workers-rs";
     license = with licenses; [ asl20 /* or */ mit ];
diff --git a/pkgs/development/tools/wrangler_1/default.nix b/pkgs/development/tools/wrangler_1/default.nix
index 0302e40492aa4..7fc33c2dda6d9 100644
--- a/pkgs/development/tools/wrangler_1/default.nix
+++ b/pkgs/development/tools/wrangler_1/default.nix
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A CLI tool designed for folks who are interested in using Cloudflare Workers";
+    description = "CLI tool designed for folks who are interested in using Cloudflare Workers";
     mainProgram = "wrangler";
     homepage = "https://github.com/cloudflare/wrangler";
     license = with licenses; [ asl20 /* or */ mit ];
diff --git a/pkgs/development/tools/wxformbuilder/default.nix b/pkgs/development/tools/wxformbuilder/default.nix
index 8914620074d5a..ad31bcad0d7bb 100644
--- a/pkgs/development/tools/wxformbuilder/default.nix
+++ b/pkgs/development/tools/wxformbuilder/default.nix
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "wxformbuilder";
-  version = "4.1.0";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "wxFormBuilder";
@@ -21,17 +21,17 @@ stdenv.mkDerivation (finalAttrs: {
     leaveDotGit = true;
     postFetch = ''
       substituteInPlace $out/.git-properties \
-        --replace "\$Format:%h\$" "$(git -C $out rev-parse --short HEAD)" \
-        --replace "\$Format:%(describe)\$" "$(git -C $out rev-parse --short HEAD)"
+        --replace-fail "\$Format:%h\$" "$(git -C $out rev-parse --short HEAD)" \
+        --replace-fail "\$Format:%(describe)\$" "$(git -C $out rev-parse --short HEAD)"
       rm -rf $out/.git
     '';
-    hash = "sha256-Ob+6MAf2iQGd3lgeN+dLfscpmYYrzD3dsN+2ZmvJog0=";
+    hash = "sha256-e0oYyUv8EjGDVj/TWx2jGaj22YyFJf1xa6lredV1J0Y=";
   };
 
   postPatch = ''
     substituteInPlace third_party/tinyxml2/cmake/tinyxml2.pc.in \
-      --replace '$'{exec_prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@ \
-      --replace '$'{prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@
+      --replace-fail '$'{exec_prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@ \
+      --replace-fail '$'{prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@
     sed -i '/fixup_bundle/d' cmake/macros.cmake
   '';
 
diff --git a/pkgs/development/tools/xqilla/default.nix b/pkgs/development/tools/xqilla/default.nix
index 352f41f47bb49..4e8e165de6346 100644
--- a/pkgs/development/tools/xqilla/default.nix
+++ b/pkgs/development/tools/xqilla/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, xercesc }:
+{ lib, stdenv, fetchurl, fetchpatch, darwin, xercesc }:
 
 stdenv.mkDerivation rec {
   pname = "xqilla";
@@ -17,10 +17,21 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  configureFlags = [ "--with-xerces=${xercesc}" ];
+  configureFlags = [
+    "--with-xerces=${xercesc}"
+    # code uses register storage specifier
+    "CXXFLAGS=-std=c++14"
+  ];
+
+  buildInputs = [
+    xercesc
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
+    CoreServices
+    SystemConfiguration
+  ]);
 
   meta = with lib; {
-    description = "An XQuery and XPath 2 library and command line utility written in C++, implemented on top of the Xerces-C library";
+    description = "XQuery and XPath 2 library and command line utility written in C++, implemented on top of the Xerces-C library";
     mainProgram = "xqilla";
     license     = licenses.asl20 ;
     maintainers = with maintainers; [ obadz ];
diff --git a/pkgs/development/tools/yamlfmt/default.nix b/pkgs/development/tools/yamlfmt/default.nix
index 5f8c043b196fc..89132f4c83fbf 100644
--- a/pkgs/development/tools/yamlfmt/default.nix
+++ b/pkgs/development/tools/yamlfmt/default.nix
@@ -2,21 +2,21 @@
 
 buildGoModule rec {
   pname = "yamlfmt";
-  version = "0.11.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7+ui5jEJkjejAZRdM+okoF3Qw8SJSTKJS7LNNnBgz0g=";
+    sha256 = "sha256-VAXDkD4JLoiTomCNtuex/ZEAZtWDEEg5cxETYemvQW8=";
   };
 
-  vendorHash = "sha256-JiFVc2+LcCgvnEX6W4XBtIgXcILEO2HZT4DTp62eUJU=";
+  vendorHash = "sha256-UfULQw7wAEJjTFp6+ACF5Ki04eFKeUEgmbt1c8pUolA=";
 
   doCheck = false;
 
   meta = with lib; {
-    description = "An extensible command line tool or library to format yaml files.";
+    description = "Extensible command line tool or library to format yaml files";
     homepage = "https://github.com/google/yamlfmt";
     license = licenses.asl20;
     maintainers = with maintainers; [ sno2wman ];
diff --git a/pkgs/development/tools/yarn-berry/default.nix b/pkgs/development/tools/yarn-berry/default.nix
index 47ddf77634bfa..4b1ff6de268f5 100644
--- a/pkgs/development/tools/yarn-berry/default.nix
+++ b/pkgs/development/tools/yarn-berry/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "yarn-berry";
-  version = "4.1.1";
+  version = "4.2.2";
 
   src = fetchFromGitHub {
     owner = "yarnpkg";
     repo = "berry";
     rev = "@yarnpkg/cli/${finalAttrs.version}";
-    hash = "sha256-75bERA1uZeywMjYznFDyk4+AtVDLo7eIajVtWdAD/RA=";
+    hash = "sha256-dOWcfeWotWgx1ctY/TEuxH1gkgp9Gxou6jaymJMBHLE=";
   };
 
   buildInputs = [
@@ -43,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     homepage = "https://yarnpkg.com/";
-    description = "Fast, reliable, and secure dependency management.";
+    description = "Fast, reliable, and secure dependency management";
     license = licenses.bsd2;
     maintainers = with maintainers; [ ryota-ka pyrox0 DimitarNestorov ];
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
index b43bc40c85f6a..3cc5e31c3c152 100644
--- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
+++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
@@ -398,25 +398,15 @@ in rec {
     });
 
   yarn2nix = mkYarnPackage {
-    src =
-      let
-        src = ./.;
-
-        mkFilter = { dirsToInclude, filesToInclude, root }: path: type:
-          let
-            inherit (lib) elem elemAt splitString;
-
-            subpath = elemAt (splitString "${toString root}/" path) 1;
-            spdir = elemAt (splitString "/" subpath) 0;
-          in elem spdir dirsToInclude ||
-            (type == "regular" && elem subpath filesToInclude);
-      in builtins.filterSource
-          (mkFilter {
-            dirsToInclude = ["bin" "lib"];
-            filesToInclude = ["package.json" "yarn.lock"];
-            root = src;
-          })
-          src;
+    src = lib.fileset.toSource {
+      root = ./.;
+      fileset = lib.fileset.unions [
+        ./bin
+        ./lib
+        ./package.json
+        ./yarn.lock
+      ];
+    };
 
     # yarn2nix is the only package that requires the yarnNix option.
     # All the other projects can auto-generate that file.
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index f4d8137c33eba..571c0a489ea72 100644
--- a/pkgs/development/tools/yq-go/default.nix
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.43.1";
+  version = "4.44.2";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     repo = "yq";
     rev = "v${version}";
-    hash = "sha256-AQOHVuDREp6OpwlPFwpCUOQACOsDRH0uM6WwKyEK4JI=";
+    hash = "sha256-l5/D2yCbf4CB4bUB/wIN/MW4u2D8pv7N6bL5q5DoDMs=";
   };
 
-  vendorHash = "sha256-9GCqZS0fguJo8GkVPMgbstEVzrjIS0kdbNQEaT1HSFI=";
+  vendorHash = "sha256-HiRdz6fDu0Q0mAi2E5Ec0Hst8mhJEfvNuoDXJ5Ak+js=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/ytt/default.nix b/pkgs/development/tools/ytt/default.nix
index 1b38498f2cfcd..297ab054b814a 100644
--- a/pkgs/development/tools/ytt/default.nix
+++ b/pkgs/development/tools/ytt/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ytt";
-  version = "0.49.0";
+  version = "0.49.1";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-ytt";
     rev = "v${version}";
-    sha256 = "sha256-7eG9ATZTqA48KFdPW/XVYNdq+giYVx0v1GDtabiTpQI=";
+    sha256 = "sha256-1W7pnljAzeIjXdjCj8nauvca4IGpsn0TmrKUNJtMg+E=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/yuicompressor/default.nix b/pkgs/development/tools/yuicompressor/default.nix
index 281aaee522c2a..e865160fb7141 100644
--- a/pkgs/development/tools/yuicompressor/default.nix
+++ b/pkgs/development/tools/yuicompressor/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A JavaScript and CSS minifier";
+    description = "JavaScript and CSS minifier";
     mainProgram = "yuicompressor";
     homepage = "http://yui.github.io/yuicompressor/";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
diff --git a/pkgs/development/tools/zed/default.nix b/pkgs/development/tools/zed/default.nix
index fbdad83efb284..d194b576c3610 100644
--- a/pkgs/development/tools/zed/default.nix
+++ b/pkgs/development/tools/zed/default.nix
@@ -37,7 +37,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A novel data lake based on super-structured data";
+    description = "Novel data lake based on super-structured data";
     homepage = "https://zed.brimdata.io";
     changelog = "https://github.com/brimdata/zed/blob/v${version}/CHANGELOG.md";
     license = licenses.bsd3;
diff --git a/pkgs/development/tools/zld/default.nix b/pkgs/development/tools/zld/default.nix
index 95a642137f0bd..af8509103067f 100644
--- a/pkgs/development/tools/zld/default.nix
+++ b/pkgs/development/tools/zld/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A faster version of Apple's linker";
+    description = "Faster version of Apple's linker";
     homepage = "https://github.com/michaeleisel/zld";
     license = licenses.mit;
     maintainers = [ maintainers.rgnns ];